我正在研究CSS过渡,特别是哪些CSS属性可以过渡并且各自的浏览器支持。苦苦于在谷歌上找到任何全面的东西。
我相信并非所有CSS属性都是过渡性的。例如,background:
不是,background-color:
和background-image:
是。
这是否意味着CSS转换仅适用于长手语法?或许这个例子只是一个例外。
是否有人拥有可以转换的全面属性列表?
答案 0 :(得分:4)
这是否意味着CSS转换仅适用于长手语法?或许这个例子只是一个例外。
它适用于速记属性,但仅适用于可动画的特定手绘组件。这在CSS Transitions spec中提到。
例如,如果您指定transition-property: background
,它将起作用,但只有background-color
,background-position
和background-size
,以及background-image
中的渐变值,将进行动画处理,并根据为background
转换指定的延迟,计时功能和持续时间进行动画制作。
我怀疑要求链接到属性列表可能是偏离主题的,但我可以说明显的是list of animatable properties and values found in the CSS Transitions module说:
以下定义定义CSS级别2修订版1([CSS21])和CSS颜色模块([CSS3COLOR])级别3中属性的动画行为。
因此,您只能在Transitions规范中找到与这些规范相对应的属性和值。
对于其他CSS3属性,无论是否 - 以及如何 - 它们都是可动画的,在各自的支持中有所描述。例如,border-radius
的定义可以在Backgrounds and Borders module:
的两个值
与background-image
类似,border-radius
是一个速记属性,由四个组成部分组成(每个角落一个)。您可以通过简单地指定transition-property: border-radius
,以及恰好一个延迟,计时功能和持续时间,以完全相同的方式转换所有四个角。
答案 1 :(得分:0)
npm上有基于animatable-properties的MDN list软件包。
console.log('First 10 properties by usage statistics:', animatable.popular())
console.log('All properties sorted alphabetically:', animatable.propertiesCSS)
是一个数组,其中包含所有CSS格式的可设置动画的属性。
您还可以获得基于Chrome's anonymous usage statistics的使用流行度排序的列表。
<script src="https://unpkg.com/animatable-properties"></script>
{{1}}
该程序包还为每个属性提供语法,并能够验证该语法。