样式顺序规范
建议相关的属性说明放在一组,提高代码的可读性。
布局方式、位置,相关属性(position, left, right, top, bottom, z-index)
盒模型,相关属性包括(display, float, width, height, margin, padding, border, border-radius)
文本排版,相关属性包括(font, color, background, line-height, text-align)
视觉外观,相关属性包括:(color, background, list-style, transform, animation)
由于定位可以从正常的文档流中移除元素,并且还能覆盖盒模型相关的样式,因此排在首位。而盒模型决定了组件的尺寸和位置,所以排第二位。文本和视觉外观对元素影响较小,所以放在第三,第四位;示例代码如下
.box {
position: absolute;
top: 0;
left: 20%;
z-index: 99;
width: 100px;
height: 100px;
font-size: 20px;
color:red;
background-color: aqua;
}
使用CSS缩写属性
对于 background, font, padding, margin 这些简写形式的属性声明,可以缩写的尽量缩写,这样既精简代码又提高用户的阅读体验
.box {
width: 100px;
height: 100px;
margin: 0 10px 20px 30px;
font: italic bold 12px/30px arial,sans-serif;
}
小数点和单位
值在 -1 和 1 之间时去掉小数点前的 “0”,如果属性值为数字 0,不加任何单位;
.box {
width: 100px;
height: 100px;
margin: 0 10px 20px 0;
opacity: .5;
}
颜色值十六进制表示法
6 个字符的十六进制表示法,并始终使用小写的十六进制数字;16进制表示法与rgb表示法混用的情况,优先使用 16 进制表示法
.box {
color: #cccccc;
background-color: #efefef;
}
引号
属性选择器或属性值用双引号 “” 括起来,而 URI 值 url() 不要使用任何引号
.box {
font-family: "open sans", arial, sans-serif;
background-image: url(http://taobao.com/);
}
内容缩进
为了反映层级关系和提高可读性,块级内容都应缩进,建议缩进使用两个空格;
.box {
line-height: 1.5;
}
空格
在每个声明块选择器与左花括号前添加一个空格;
声明块的右花括号应当单独成行;
每条声明语句的 : 后应该插入一个空格,前面无空格
.box {
float: right;
width: 100px;
color: #333;
background-color: #f5f5f5;
text-align: center;
}
媒体查询
将媒体查询放在尽可能相关规则的附近。如果分开了,可能会被遗忘。
媒体查询针对每一个种屏幕(大、中、小)的分别单独组织为一个文件
.element {}
.element-avatar {}
.element-selected {}
@media (min-width: 480px) {
.element {}
.element-avatar {}
.element-selected {}
}
注释
在适当的位置给予代码正确的注释,让他人跟容易理解。好的代码注释传达上下文和目标。不要简单地重申组件或者 class 名称。
/* Wrapping element for .modal-title and .modal-close */
.modal-header {
}
如果是对整个文件做注释,最好放在文本头部,简要描述一下文中元信息以及作用
/**
* 这里描述元信息
*/
html, body {
height:100%;
}