高效css的写法
2012-09-21 09:00
701 查看
浏览器从右到左进行查找的好处是为了尽早过滤掉一些无关的样式规则和元素
1 selector的性能排序
id selector > class selector > tag selector > universive selector
so,key selector 决定了css 规则的性能
2 少些css rule,学习规则是可以继承的
不能继承的属性:比如border,margin,padding之类的是不会被继承的
3 避免使用后代选择器,特别是包含了一些无用的祖先元素
eg:body ul li a{...} 制定了一个无用的body限定,因为所有的元素都是在body中。
4 使用class选择器取代后代选择器
eg:如果你需要两个不同的样式(一个无序列表,一个有序列表)
不要使用下面的样式
ul li {color:blue} ol li {color:red}
应该这样的使用 .unordered-list-item {color: blue;}
.ordered-list-item {color: red;}
如果你一定要用后代选择器,建议你使用子选择器
5 避免使用:hover在一些没有连接的元素上面(对于ie序列的)
如果你使用:hover在一些无连接的元素上面,ie7,8会认为他们是无用的。建议使用事件onmouseover 来模拟
背景知识:
下面的这些规则被认为是低效的
(1)使用了后代选择器
1.使用全局选择器作为key
eg:body * {...}
.hide-scrollbars * {...}
2.使用了标签选择器作为key
eg:ul li a {...}
#footer h3 {...}
(2)使用子选择器和相邻选择器
1.使用全局选择器作为key
eg:body > * {...}
.hide-scrollbars > * {...}
2.使用标签选择器作为key
eg: ul > li > a {...}
#footer > h3 {...}
1 selector的性能排序
id selector > class selector > tag selector > universive selector
so,key selector 决定了css 规则的性能
2 少些css rule,学习规则是可以继承的
不能继承的属性:比如border,margin,padding之类的是不会被继承的
3 避免使用后代选择器,特别是包含了一些无用的祖先元素
eg:body ul li a{...} 制定了一个无用的body限定,因为所有的元素都是在body中。
4 使用class选择器取代后代选择器
eg:如果你需要两个不同的样式(一个无序列表,一个有序列表)
不要使用下面的样式
ul li {color:blue} ol li {color:red}
应该这样的使用 .unordered-list-item {color: blue;}
.ordered-list-item {color: red;}
如果你一定要用后代选择器,建议你使用子选择器
5 避免使用:hover在一些没有连接的元素上面(对于ie序列的)
如果你使用:hover在一些无连接的元素上面,ie7,8会认为他们是无用的。建议使用事件onmouseover 来模拟
背景知识:
下面的这些规则被认为是低效的
(1)使用了后代选择器
1.使用全局选择器作为key
eg:body * {...}
.hide-scrollbars * {...}
2.使用了标签选择器作为key
eg:ul li a {...}
#footer h3 {...}
(2)使用子选择器和相邻选择器
1.使用全局选择器作为key
eg:body > * {...}
.hide-scrollbars > * {...}
2.使用标签选择器作为key
eg: ul > li > a {...}
#footer > h3 {...}
相关文章推荐
- 一些比较高效的CSS写法建议
- 高效css 写法
- 一些比较高效的CSS写法建议
- css写法
- table表格,让thead固定,tbody有滚动条,关键是都对齐的纯css写法。
- 高效的CSS代码(1)
- [原]精简高效CSS系列之一——CSS样式用法
- 书写高效的CSS
- 通过使用jQuery和CSS控制元素对齐来学习jQuery插件写法
- CSS里font-size的写法导致的bug
- HTML特殊字符的html、js、css写法汇总
- 为ie6,ie7,firefox(ff)设置不同效果的css写法
- oracle性能优化技巧:max(),min()的高效写法
- 兼容所有浏览器的半透明背景且不透明文字的CSS写法
- 横向柱状图的CSS写法
- DIV两列并排的标准写法——理解CSS中的float
- CSS的渲染效率–高效的CSS优化
- CSS 约定写法
- css中引用图片或者其他文件的url写法
- 兼容IE6/IE7/IE8/FF的CSS写法