一、使用高效的css选择器
.reader p.list div{
//省去代码
}
我们看css选择器是从左边到右边看的,实际上css解析的时候是从右边到左边解析的:
- 1、
css
引擎是先查找页面中全部的div
; - 2、找到了
div
继续查找该元素是否具有list
的类的父元素; - 3、找到了含有
list
类的父元素过滤父元素是p
的元素; - 4、继续查找父元素是否具有
reader
的类的父元素;
使用高效的css选择器要遵守下列几个原则
- 1、避免使用通配选择器
- 2、避免使用标签选择器及单个属性选择器作为关键选择器(关键选择器是最右边的那个选择器)
- 3、不要在ID前面加标签名
- 4、劲量不要在选择器中定义过多的层级,最好不要超过三层
二、css
对图片的处理
- 1、不要设置图片的尺寸,开发过程中可能缩略图和实际图使用同一张图通过改变大小去显示,这样造成不良后果是原本可以下载一个小图,现在要下载大图
- 2、使用
css sprite
将小图合并到一张大图上
三、减少css
的代码量
- 1、定义简洁的
css
规则 -
2、合并相关的
css
规则.reader-title{ font:italic bold 12px/30px serif; }
- 类似的样式还有
background,border,margin,padding,text,list-style,transform,transition,animation
- 类似的样式还有
-
3、定义简洁的属性值
/*不推荐使用*/ p.reader-title{ color: #ff33ff; font-size: 0.8rem; padding: 0px; } /*推荐使用*/ p.reader-title{ color: #f3f; font-size: .8rem; padding: 0; }
-
4、合并相同的定义
- 把相同的样式合并到一起
- 在
css
中有些属性是可以继承的,比如color,font,line-height,list-style,text-align,text-indent,text-transform
- 删除无效的样式
-
5、其它
css
高性能实战- 避免使用
@import
- 避免使用
IE
浏览器独有的样式:图片滤镜和css
表达式
- 避免使用