animation:none 究竟是做什么的?
What does animation:none do exactly?
我这里有一个具有这种起始样式的 HTML 元素:
transition: transform 2s;
首先,它是 动画(旋转 X)通过点击时添加的 class。在下一次点击时,添加了另一个 class,它添加了一个 transform3d,它应该垂直移动元素,按照上面的规则,这应该需要 2 秒。
transform3d 不会生效,除非我将此规则添加到元素:animation: none
以及。我对 animation: none
的实际作用感到困惑。转换应用了动画的元素是否有复杂性?
animation: none
将所有 animate-*
属性设置为其初始值:
animation-name: none;
animation-duration: 0s;
animation-timing-function: ease;
animation-delay: 0s;
animation-iteration-count: 1;
animation-direction: normal;
animation-fill-mode: none;
animation-play-state: running;
问题是您的元素有影响其 transform
属性 的动画。因此,当您修改其静态 transform
时,您看不到更改,因为它已被动画覆盖。
然后,如果您删除动画,您会在 transform
中看到变化。
这与转换无关,任何 属性 都会发生,例如 color
:
div {
animation: color-anim 1s infinite;
}
@keyframes color-anim {
from { color: red }
to { color: blue }
}
<div>Lorem ipsum</div>
<button onclick="document.querySelector('div').style.color = '#fff'">Make white</button>
<button onclick="document.querySelector('div').style.animation = 'none'">Remove animation</button>
我这里有一个具有这种起始样式的 HTML 元素:
transition: transform 2s;
首先,它是 动画(旋转 X)通过点击时添加的 class。在下一次点击时,添加了另一个 class,它添加了一个 transform3d,它应该垂直移动元素,按照上面的规则,这应该需要 2 秒。
transform3d 不会生效,除非我将此规则添加到元素:animation: none
以及。我对 animation: none
的实际作用感到困惑。转换应用了动画的元素是否有复杂性?
animation: none
将所有 animate-*
属性设置为其初始值:
animation-name: none;
animation-duration: 0s;
animation-timing-function: ease;
animation-delay: 0s;
animation-iteration-count: 1;
animation-direction: normal;
animation-fill-mode: none;
animation-play-state: running;
问题是您的元素有影响其 transform
属性 的动画。因此,当您修改其静态 transform
时,您看不到更改,因为它已被动画覆盖。
然后,如果您删除动画,您会在 transform
中看到变化。
这与转换无关,任何 属性 都会发生,例如 color
:
div {
animation: color-anim 1s infinite;
}
@keyframes color-anim {
from { color: red }
to { color: blue }
}
<div>Lorem ipsum</div>
<button onclick="document.querySelector('div').style.color = '#fff'">Make white</button>
<button onclick="document.querySelector('div').style.animation = 'none'">Remove animation</button>