导读 摘要 今天小编跟大家讲解下有关如何优化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 就不存在其他方面的问题。
来源:爱蒂网
版权声明:本文由用户上传,如有侵权请联系删除!