CSS Expression 的优化
作者:blank 来源:怿飞blog 发布时间:2009-09-24 13:27:00
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 属性选用一些不常用的属性来触发,触发完重置回默认值。
最近在 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 就不存在其他方面的问题。


猜你喜欢
- 如下所示:dic = dict()dic['a'] = 1dic['b'] = 2dic['c
- python安装reportlabpip install reportlab -i http://pypi.douban.com/simpl
- 1.tqdm模块是python进度条库, 主要分为两种运行模式1.1基于迭代对象运行: tqdm(iterator)import timef
- 如何选择速度最快的站点? <html><head><meta http-equiv=&qu
- asp使用WScript.Shell获取电脑的网络配置信息Option Explicit Dim WSHShe
- 前言python类与实例的方法的调用中觉得云里雾里,思考之后将自己的想法记录下,一来加深自己理解,巩固自己记忆,而来帮助一些想要学习pyth
- vue开发依赖的相关配置Vue SSR 指南今天先做客户端方面的配置,明天再做服务端的部分。那么马上开始吧~修改部分代码脚手架生成的代码肯定
- 1、python装饰器刚刚接触python的装饰器,简直懵逼了,直接不懂什么意思啊有木有,自己都忘了走了多少遍Debug,查了多少遍资料,猜
- 创建函数时问题马上出现: ERROR 1418 (HY000): This routine has none of DETERMINISTI
- 前言:为了帮助广大考生和家长了解高考历年的录取情况,很多网站都汇总了各省市的录取控制分数线,为广大考生填报志愿提供参考。因受多种因素影响,每
- 一、前言前两篇博客讲解了爬虫解析网页数据的两种常用方法,re正则表达解析和beautifulsoup标签解析,所以今天的博客将围绕另外一种数
- smtp是直接调用163邮箱的smtp服务器,需要在163邮箱中设置一下。outlook发送就是Python直接调用win32方式。调用程序
- 这篇是Nicholas讨论如果防止脚本失控的第二篇,主要讨论了如何重构嵌套循环、递归,以及那些在函数内部同时执行很多子操作的函数。基本的思想
- PHP 301跳转的小代码<?php $the_host = $_SERVER['HTTP
- 看了不少朋友的个人网站,有一个小问题,似乎很多朋友都忽略了,那就是版权声明的写法。虽然那只是一小行字,不过作为设计师也好,作为个人的爱好也好
- pprint的英文全称Data pretty printer,顾名思义就是让显示结果更漂亮。print()和pprint()都是python
- 1。注意用SQL分析器可以看select出来的东西select right(convert(varchar(30),getdate(),12
- 很多深度神经网络模型需要加载预训练过的Vgg参数,比如说:风格迁移、目标检测、图像标注等计算机视觉中常见的任务。那么到底如何加载Vgg模型呢
- 在运用xmlhttp组件编写程序中,会碰到 "msxml3.dll 错误 ‘800c0005’&nb
- 本文实例讲述了Python常用模块sys,os,time,random功能与用法。分享给大家供大家参考,具体如下:sys:介绍:主要包含涉及