在日常的开发中,尤其是团队大型开发中,代码量甚至几千行甚至更对,而在CSS书写规范就显得尤为重要了,一个好的CSS书写规范会叫人赏心悦目,而奇葩的书写方式会叫人炸下面我们看几个例子
<div class="one"></div>
<div class="kaishi"><div>
y英文字母从1到20的 ,汉语拼音的,您哪怕整个引英文单词呀,于是引出了我们今天的主题CSS书写规范
1.编码设置
采用 UTF-8
编码,在 CSS 代码头部使用:
@charset "utf-8";

错误的案例
html,
body {
height: 100%;
}
@charset "utf-8";
2.命名的规范
- 布局:以 g 为命名空间,例如:.g-wrap 、.g-header、.g-content。
- 状态:以 s 为命名空间,表示动态的、具有交互性质的状态,例如:.s-current、s-selected。
- 工具:以 u 为命名空间,表示不耦合业务逻辑的、可复用的的工具,例如:u-clearfix、u-ellipsis。
- 组件:以 m 为命名空间,表示可复用、移植的组件模块,例如:m-slider、m-dropMenu。
- 钩子:以 j 为命名空间,表示特定给 JavaScript 调用的类名,例如:j-request、j-open。
(定义的选择器名,属性及属性值的书写皆为小写。或者采用驼峰命名)
规则声明块
- 当规则声明块中有多个样式声明时,每条样式独占一行。
- 在规则声明块的左大括号 { 前加一个空格。
- 在样式属性的冒号 : 后面加上一个空格,前面不加空格。
- 在每条样式后面都以分号 ; 结尾。
- 规则声明块的右大括号 } 独占一行。
- 每个规则声明间用空行分隔。
- 所有最外层引号使用单引号 ' 。
- 当一个属性有多个属性值时,以逗号 , 分隔属性值,每个逗号后添加一个空格,当单个属性值过长时,每个属性值独占一行。
.g-footer,
.g-header {
position: relative;
}
.g-content {
background:
linear-gradient(135deg, deeppink 25%, transparent 25%) -50px 0,
linear-gradient(225deg, deeppink 25%, transparent 25%) -50px 0,
linear-gradient(315deg, deeppink 25%, transparent 25%),
linear-gradient(45deg, deeppink 25%, transparent 25%);
}
.g-content::before {
content: '';
}
数值与单位
-
当属性值或颜色参数为 0 - 1 之间的数时,省略小数点前的 0 。
color: rgba(255, 255, 255, 0.5)
color: rgba(255, 255, 255, .5);
-
当长度值为 0 时省略单位。
margin: 0px auto
margin: 0 auto
-
十六进制的颜色属性值使用小写和尽量简写。
color: #ffcc00
color: #fc0
在某些样式中,会出现一些含有空格的关键字或者中文关键字。
font-family
内使用引号
当字体名字中间有空格,中文名字体及 Unicode 字符编码表示的中文字体,为了保证兼容性,都建议在字体两端添加单引号或者双引号:
body {
font-family: 'Microsoft YaHei', '黑体-简'
}
对于!important
!important
的存在会给后期维护以及多人协作带来噩梦般的影响。所以如果不必要请不要使用这个属性,去查看自己的DOM结构是否错误