我有一个以 display: none
从 left: 0
开始的元素。我需要显示它并将其移动到 left: 40
。但是过渡不起作用。该元素直接显示在左侧:40。
N.B 我不会从不显示过渡到阻止。我正在转换一个完全不同的属性。
在这里 fiddle :
最佳答案
N.B I am not transitioning from display none to block. I am transitioning a totally different property.
是否转换显示属性并不重要。为了让过渡开始,元素必须已经处于可以动画的状态。由于 display: none
完全抑制了方框的生成,因此您无法为根本不存在的方框设置动画,即使您立即将其更改为 display: block
规则并使其生成一个盒子。特别是,position
和 left
等属性在不存在的盒子上没有任何意义,因为首先没有任何东西可以定位。
关于当起始位置显示 :none; 时,CSS 过渡不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36323598/