电脑软硬件应用网
当前位置: 电脑软硬件应用网 > 设计学院 > 网络编程 > CSS教程 > 正文
如何对CSS Expression进行优化
如何对CSS Expression进行优化
2009-9-22 12:28:17  文/planabc   出处:planabcnet   

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

如何对 CSS Expression 进行优化呢?

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

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

例如:

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

1.CSS Expression 执行在任意一个匹配的元素上。
2.在 CSS expression 内, “this”关键字指向当前匹配的 HTML 元素。
3.CSS 属性选用一些不常用的属性来触发,触发完重置回默认值。

最近在 Ajaxian 的文章《Creating a querySelector for IE that runs at “native speed”》 中看到作者 Dion Almaer 也提供了一个类似的解决方式:

div {    -singlex: expression(this.singlex ? 0 : (function(t) { alert(t.tagName); t.singlex = 0; } )(this));}
但此代码并没有完全解决 CSS Expression 最大的性能问题。因为每次触发还是要去执行 Expression 脚本,比如你滚动鼠标的中间滚轮。

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

  • 上一篇文章:

  • 下一篇文章:
  • 最新热点 最新推荐 相关文章
    CSS教程:网页中英文字体的设置
    CSS教程:background-position说明
    CSS教程:关于文字溢出问题的研究
    利用CSS 3定位页面元素
    CSS教程:CSS让网页文字自动隐藏
    CSS教程:三列固定网页布局实例
    css教程-简单的CSS下拉导航菜单
    css教程-如何用纯CSS打造一个日历
    CSS教程:彻底掌握Z-index属性
    CSS教程:clip属性全知道
    关于45IT | About 45IT | 联系方式 | 版权声明 | 网站导航 |

    Copyright © 2003-2011 45IT. All Rights Reserved 浙ICP备09049068号