我对css3 transition属性的渲染速度有疑问。假设我有许多要素:div, span, a {transition: all}div {margin: 2px}span {opacity: .5}a:hover {background-position: left top}div:hover {margin: -100px}span:hover {opacity: 1}a:hover {background-position: -5px top}使用一个声明将所有这些元素的所有转换作为目标更有效div, span, a {transition: all}。但是我的问题是:针对每个元素的特定过渡属性,在动画渲染的平滑度和快速度方面是否“更快”?例如:div {margin: 2px; transition: margin .2s ease-in}span {opacity: .5; transition: opacity .2s ease-in}a {background-position: left top; transition: background .2s ease-in}div:hover {margin: -100px}span:hover {opacity: 1}a:hover {background-position: -5px top}我这样做的逻辑是,即使一个元素只有一个属性,css的“引擎”是否必须搜索“所有”过渡属性,也可能会减慢速度。有谁知道是这样吗?谢谢!
3 回答
桃花长相依
TA贡献1860条经验 获得超8个赞
我一直all在需要为多个规则设置动画的情况下使用。例如,如果我想更改color&background-coloron :hover。
但是事实证明,您可以将多个规则定位为过渡条件,因此您无需诉诸该all设置。
.nav a {
transition: color .2s, text-shadow .2s;
}
宝慕林4294392
TA贡献2021条经验 获得超8个赞
这实际上不是对原始问题的答案。是的,您可能会意外地转换原本不想设置动画的内容,但是OP询问“所有”规则是否会导致任何性能下降,前提是未触发任何意外转换。
添加回答
举报
0/150
提交
取消