如文档所述,我们可以像这样在 CSS3 中定义动画
.class1{
animation: name duration timing-function delay iteration-count direction play-state
}
我想知道我是否为除延迟之外的每个属性(如名称、持续时间、计时函数等)都赋予了值,那么浏览器如何理解我已经跳过了延迟属性。
然后,如果我已经为动画属性提供了所有相应的值,那么它将与属性和值 1:1 匹配,但是如果想跳过任何中间属性,例如
.class1 {
animation: anim 2s cubic-bezier(0 0 1 1) 2 alternate running
}
这里我跳过了 delay
那么浏览器如何知道我跳过了 delay
属性而不是其他属性。
最佳答案
official W3C draft非常粗略,你不会得到一个好的“官方”答案。基本上,浏览器会尝试根据规范顺序解析每个值,跳过那些与 animation
属性中的相应值不匹配的子属性;所以它首先看到第一个值是一个有效的 animation-name
,然后第二个是一个有效的 animation-duration
,并继续直到它达到值 2
,不是 animation-delay
的有效值,因此它会跳过 animation-delay
并检查它是否是一个有效的 animation-iteration-count
,它是。
关于css - 浏览器如何匹配 css 子属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13378111/