考虑到Css的执行效率,书写Css时应该考虑到一些规范。
不用Css表达式
Css表达式会频繁的求值,影响浏览器的运行速度和性能。
避免使用通配符或隐式通配符
- 通配符即*;
body\* {padding:0;margin:0;}
通配符作用的元素过多,也会造成不必要的请求影响性能。故在css中应该少用。 - 隐式通配符
:visible{ padding:0; }
避免层级和限制过度的Css
Css选择器的选择是从右到左,因此选择器尽量用最具体的类,尽量避免后代选择器。子选择器能省则省。
Css要放在head里
减少repaint和reflow
css压缩以及gzip压缩
使用Css缩写
善用Css的继承
可继承的属性
- 所有元素可继承:visibility和cursor
- 内联元素和块元素可继承:letter-spacing、word-spacing、white-space、line-height、color、font、 font-family、font-size、font-style、font-variant、font-weight、text-decoration、text-transform、direction
- 块状元素可继承:text-indent和text-align
- 列表元素可继承:list-style、list-style-type、list-style-position、list-style-image
- 表格元素可继承:border-collapse
- 不可继承的:display、margin、border、padding、background、height、min-height、maxheight、width、min-width、max-width、overflow、position、left、right、top、bottom、z-index、float、clear、table-layout、vertical-align、page-break-after、page-bread-before和unicode-bidi
不乱用Css的Reset
- 网站都会有CSS reset,建议写的专业一些,可以参考 css reset 写出合适的reset
抽离、拆分Css
- 抽离CSS是指把一些通用的CSS放到一个文件内,而不是写到各个页面,这样一次下载后,其它页面用到的时候就可以利用缓存了,减少不必要的重复下载。