山海科技发展网

08月04日科技常识:如何优化css expression性能

导读 摘要 今天小编跟大家讲解下有关如何优化css expression性能 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关如何优化css...
摘要 今天小编跟大家讲解下有关如何优化css expression性能 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关如何优化css expr

今天小编跟大家讲解下有关如何优化css expression性能 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关如何优化css expression性能 的相关资料,希望小伙伴们看了有所帮助。

IE 浏览器中 css Expression 特性的最大的问题:会反复执行 每秒钟可能执行了成百上千次 有严重的性能问题。如

何对 css Expression 进行优化呢

至少:如果我们将 css Expression 在匹配的元素中仅执行一次 性能将会提升很大。

old9 在 《css Expression Reloaded》一文中提供了一个解决方案:

在 css Expression 语句体里 将触发该 Expression 的 css 属性重置。

例如:

div { zoom: expression(function(el){el.style.zoom = "1"; alert(el.tagName);}(this));}

补充几点:

css Expression 执行在任意一个匹配的元素上。

在 css expression 内 “this”关键字指向当前匹配的 html 元素。

css 属性选用一些不常用的属性来触发 触发完重置回默认值。

还有一个类似的解决方式:

div { -singlex: expression(this.singlex ? 0 : (function(t) { alert(t.tagName); t.singlex = 0; } )(this));}

但此代码并没有完全解决 css Expression 最大的性能问题。因为每次触发还是要去执行 Expression 脚本 比如你滚动鼠标的中间滚轮。

最后强调 仅是对 CSS Expression 做了优化 但并未说 CSS Expression 就不存在其他方面的问题。

来源:爱蒂网