#1 语法
用两个空格来代替制表符(tab),这是唯一能保证在所有环境下获得一致展现的方法。
为选择器分组时,将单独的选择器单独放在一行。
为了代码的易读性,在每个声明块的左花括号前添加一个空格。
声明块的右花括号应当单独成行。
每条声明语句的 : 后应该插入一个空格。
为了获得更准确的错误报告,每条声明都应该独占一行。
所有声明语句都应当以分号结尾。最后一条声明语句后面的分号是可选的,但是,如果省略这个分号,你的代码可能更易出错。
对于以逗号分隔的属性值,每个逗号后面都应该插入一个空格(例如,box-shadow)。
颜色取值 rgb()、rgba()、hsl()、hsla() 或 rect() ,不要在取值中插入空格。
对于属性值或颜色参数,省略小数前面的 0 (例如,.5 代替 0.5;-.5px 代替 -0.5px)。
十六进制值应该全部小写,例如,#fff。在浏览文档时,小写字符易于分辨,因为他们的形式更易于区分。
尽量使用简写形式的十六进制值,例如,用 #fff 代替 #ffffff。
为选择器中的属性添加双引号,例如,input[type="text"]。只有在某些情况下是可选的,但是,为了代码的一致性,建议都加上双引号。
避免为 0 值指定单位,例如,用 margin: 0; 代替 margin: 0px;。
url() 函数中的路径不加引号。
url() 函数中的绝对路径可省去协议名。
/* Bad CSS */
.selector, .selector-secondary, .selector[type=text] {
padding:15px;
margin:0px 0px 15px;
background-color:rgba(0, 0, 0, 0.5);
box-shadow:0 1px 2px #CCC,inset 0 1px 0 #FFFFFF
}
/* Good CSS */
.selector,
.selector-secondary,
.selector[type="text"] {
padding: 15px;
margin-bottom: 15px;
background-color: rgba(0,0,0,.5);
box-shadow: 0px 1px 2px #ccc, inset 0 1px 0 #fff;
}
#2 书写顺序
- Positioning(位置属性)(position, top, right, z-index, display, float等)
- Box Model(盒子模型)(width, height, padding, margin)
- Typographic (font, line-height, letter-spacing, color, text-align等)
- Visual (视觉)(background, border等)
- 其他(animation, transition等)
由于定位(positioning)可以从正常的文档流中移除元素,并且还能覆盖盒模型(box model)相关的样式,因此排在首位;盒模型排在第二位,因为它决定了组件的尺寸和位置;其他属性只是影响组件的内部(inside)或者是不影响前两组属性,因此排在后面。
.sidebar {
/* formatting model: positioning schemes / offsets / z-indexes / display / ... */
position: absolute;
top: 50px;
left: 0;
overflow-x: hidden;
/* box model: sizes / margins / paddings / borders / ... */
width: 200px;
padding: 5px;
border: 1px solid #ddd;
/* typographic: font / aligns / text styles / ... */
font-size: 14px;
line-height: 20px;
/* visual: colors / shadows / gradients / ... */
background: #f5f5f5;
color: #333;
-webkit-transition: color 1s;
-moz-transition: color 1s;
transition: color 1s;
/* misc */
opacity: 1;
}
#3不要使用 @import
与 <link> 标签相比,@import 指令要慢很多,不光增加了额外的页面请求,还会导致不可预料的问题。替代办法有以下几种:
- 使用多个 元素
- 通过 Sass 或 Less 类似的 CSS 预处理器将多个 CSS 文件编译为一个文件
<!-- Use link elements -->
<link rel="stylesheet" href="core.css">
<!-- Avoid @imports -->
<style>
@import url("more.css");
</style>