在性能和维护性上,都有一定的影响。
示例:
【建议】 选择器的嵌套层级应该不大于 3 级,位置靠后的限定条件应可能精确;
示例:
【建议】 同一 rule set 下的属性在书写时,应按功能进行分组,并以 Formatting Model > Box Model > Typographic > Visual 的顺序书写,以提高代码的可读性。
- Box model 盒模型;相关属性包括:
width / height / padding / margin / border / overflow / ...
- Typographic 文本排版;相关属性包括:
- 如果包含 content 属性,应放在最前面;
Positioning 处在第一位,因为他可以使一个元素脱离正常文本流,并且覆盖盒模型相关的样式。盒模型紧跟其后,因为他决定了一个组件的大小和位置。其他属性只在组件 内部 起作用或者不会对前面两种情况的结果产生影响,所以他们排在后面。
【强制】 属性选择器中的值必须用双引号包围。不允许使用单引号,不允许不使用引号。
示例:
简写形式可以在一定程度上压缩样式,但并不意味着你可以对所有可以简写的属性声明都使用简写。过度使用简写形式的属性声明会导致代码混乱,会对属性值带来不必要的覆盖从而引起意外的副作用,并且不能充分利用CSS的继承。常见的滥用简写属性声明的情况如下:
padding
background
border-radius