css - 浏览器如何匹配 css 子属性

标签 css browser

如文档所述,我们可以像这样在 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/

相关文章:

javascript - 图像脚本在 Chrome 中不起作用

javascript - 具有辅助功能的浏览器是否支持 CSS 或 JavaScript?

python - 除了浏览器扩展之外,还有其他方法可以将 GUI 栏悬停在用户访问的任何网站上吗?

html - 确定 css 样式中的像素、百分比和元素大小

javascript - CSS Accordion -> 添加 jquery 以将 "hover"更改为切换但 JS 未注册?

html - Aside disappeared suddenly - 没见过这个问题

javascript - 在 safari 中使用 javascript 播放声音

javascript - 在 href 中搜索包含特定关键字的元素并隐藏其他元素(在 JavaScript 中)

Javascript:仅在未查看 Qualtrics 页面时单击 'Next'

html - 如何在 simple_form 中居中对齐表单元素