我正在研究CSS过渡效果,特别是可以过渡的CSS属性及其各自的浏览器支持情况。在谷歌上找不到全面的信息。
我认为并非所有CSS属性都可以过渡。例如, background:
不能,但是 background-color:
和 background-image:
可以。
这是否意味着CSS过渡仅适用于长手写法?或者也许这个例子只是个例外。
有人有可以过渡的属性的全面列表吗?
我正在研究CSS过渡效果,特别是可以过渡的CSS属性及其各自的浏览器支持情况。在谷歌上找不到全面的信息。
我认为并非所有CSS属性都可以过渡。例如, background:
不能,但是 background-color:
和 background-image:
可以。
这是否意味着CSS过渡仅适用于长手写法?或者也许这个例子只是个例外。
有人有可以过渡的属性的全面列表吗?
transition-property: background
,它将起作用,但仅会对background-color
、background-position
和background-size
以及background-image
中的渐变值进行动画处理,并且所有这些都会根据指定的延迟、时间函数和持续时间进行动画处理。
我怀疑要求列出属性的链接可能不是这里讨论的范围,但值得一提的是,MDN包含可动画化属性列表。border-radius
的定义可以在 背景和边框模块 中找到:
与可动画化: 作为两个 长度、百分比或计算值。
background-image
一样,border-radius
是一个缩写属性,由四个组成部分(每个角一个)组成。您可以通过简单地指定 transition-property: border-radius
,以及恰好一个延迟、时间函数和持续时间来以完全相同的方式过渡所有四个角落。在npm上有一个基于MDN列表的animatable-properties包。
animatable.propertiesCSS
是一个包含所有可动画化属性的CSS格式数组。
你也可以根据Chrome匿名使用统计获得按使用流行度排序的列表。
console.log('First 10 properties by usage statistics:', animatable.popular())
console.log('All properties sorted alphabetically:', animatable.propertiesCSS)
<script src="https://unpkg.com/animatable-properties"></script>