CSS3选择器的性能比较
2015-08-18 13:58
666 查看
在众多CSS3选择器中,如何选择最合适的选择器一直是很揪心的问题。
A.Google
资深web开发工程师Steve Souders一句话就可以概括这个问题:
1.id选择器(#myid)
2.类选择器(.myclassname)
3.标签选择器(div,h1,p)
4.相邻选择器(h1+p)
5.子选择器(ul < li)
6.后代选择器(li a)
7.通配符选择器(*)
8.属性选择器(a[rel="external"])
9.伪类选择器(a:hover,li:nth-child)
上面九种选择器,等级越低,效率越高
所以我们在选择时尽量优先使用id和class,非必要时候尽量不要使用其它选择器
B.safari和webkit的架构师David
Hyatt的两句话:
样式系统从最右边的选择符开始向左进行匹配规则。只要当前选择符的左边还有其他选择符,样式系统就会继续向左移动,直到找到和规则匹配的元素,或者因为不匹配而退出。
(这和我们理解的从左往右选不一样,所以在写CSS时候,选择器不应超过三级。)
如果你非常在意页面的性能那千万别使用CSS3选择器。实际上,在所有浏览器中,用 class 和 id
来渲染,比那些使用同胞,后代选择器,子选择器(sibling, descendant and child
selectors)对页面性能的改善更值得关注。
From:http://blog.sina.com.cn/s/blog_45b53d4f0101gupo.html
A.Google
资深web开发工程师Steve Souders一句话就可以概括这个问题:
1.id选择器(#myid)
2.类选择器(.myclassname)
3.标签选择器(div,h1,p)
4.相邻选择器(h1+p)
5.子选择器(ul < li)
6.后代选择器(li a)
7.通配符选择器(*)
8.属性选择器(a[rel="external"])
9.伪类选择器(a:hover,li:nth-child)
上面九种选择器,等级越低,效率越高
所以我们在选择时尽量优先使用id和class,非必要时候尽量不要使用其它选择器
B.safari和webkit的架构师David
Hyatt的两句话:
样式系统从最右边的选择符开始向左进行匹配规则。只要当前选择符的左边还有其他选择符,样式系统就会继续向左移动,直到找到和规则匹配的元素,或者因为不匹配而退出。
(这和我们理解的从左往右选不一样,所以在写CSS时候,选择器不应超过三级。)
如果你非常在意页面的性能那千万别使用CSS3选择器。实际上,在所有浏览器中,用 class 和 id
来渲染,比那些使用同胞,后代选择器,子选择器(sibling, descendant and child
selectors)对页面性能的改善更值得关注。
From:http://blog.sina.com.cn/s/blog_45b53d4f0101gupo.html
相关文章推荐
- Android Manifest 用法
- Android学习笔记(二九):嵌入浏览器
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 浏览器 cookie 限制
- 玩转浏览器IE7的5个顶级使用技巧
- 字符集导致的浏览器跨站脚本攻击分析
- 更改IE浏览器的图标
- 如何创建ajax对象并兼容多个浏览器
- css ie6 ie7 ff的CSS hack使用技巧
- CSS 浏览器的等宽空格问题解决
- 区分IE6,IE7,firefox的CSS hack
- PHP限制页面只能在微信自带浏览器访问的代码
- ASP.NET实现推送文件到浏览器的方法
- 多种浏览器清除缓存的方法小结
- Dom与浏览器兼容性说明
- firefox(火狐)和ie浏览器禁止右键和禁止复制的代码
- C#实现基于IE内核的简单浏览器完整实例
- Js智能判断浏览器是关闭还是刷新的代码
- javascript实现控制浏览器全屏