当起始位置显示 :none; 时,CSS 过渡不起作用

标签 css css-transitions

我有一个以 display: noneleft: 0 开始的元素。我需要显示它并将其移动到 left: 40。但是过渡不起作用。该元素直接显示在左侧:40。

N.B 我不会从不显示过渡到阻止。我正在转换一个完全不同的属性。

在这里 fiddle :

https://jsfiddle.net/5t43rdkb/2/

最佳答案

N.B I am not transitioning from display none to block. I am transitioning a totally different property.

是否转换显示属性并不重要。为了让过渡开始,元素必须已经处于可以动画的状态。由于 display: none 完全抑制了方框的生成,因此您无法为根本不存在的方框设置动画,即使您立即将其更改为 display: block规则并使其生成一个盒子。特别是,positionleft 等属性在不存在的盒子上没有任何意义,因为首先没有任何东西可以定位。

关于当起始位置显示 :none; 时,CSS 过渡不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36323598/

相关文章:

html - 如何在 CSS 中将 span 元素居中?

CSS 滑动 div(过渡/转换在 Firefox 25.0.1 中不起作用)

html - CSS 将 html 页面从黑白转换为带有 css 的颜色?

javascript - HTML5 过渡

javascript - 使用 Javascript 更改 CSS ".modalDialog > div {}"

css - 将 Angular HostBinding css 类设置为具有函数的值?

java - 用于设置 SeparatorMenuItem 颜色的 CSS?

html - 自定义复选框打勾

google-chrome - 外部样式表中定义的 CSS 过渡会导致页面加载时发生过渡

google-chrome - Chrome 中的悬停状态和过渡 - 一个元素上的多个动画不适用