
前端开发规范:css规范
id和class的命名
id和class的名称总是使用可以反应元素目的和用途的名称,或其他通用的名称,代替表象和晦涩难懂的名称。
不推荐 :
1 | .fw-800 { |
推荐 :
1 | .heavy { |
合理的使用id
一般情况下id不应该被用于样式,并且id的权重很高,所以不使用id解决样式的问题,而是使用class。
不推荐:
1 | #content .title { |
推荐:
1 | .content .title { |
css选择器中避免使用标签名
从结构、表现、行为分离的原则来看,应该尽量避免css中出现HTML标签,并且在css选择器中出现标签名会存在潜在的问题。
使用子选择器
很多前端开发人员写选择器链的时候不使用 直接子选择器(注:直接子选择器和后代选择器的区别)。
有时,这可能会导致疼痛的设计问题并且有时候可能会很耗性能。
然而,在任何情况下,这是一个非常不好的做法。
如果你不写很通用的,需要匹配到DOM末端的选择器, 你应该总是考虑直接子选择器。
不推荐:
1 | .content .title { |
推荐:
1 | .content > .title { |
尽量使用缩写属性
尽量使用缩写属性对于代码效率和可读性是很有用的,比如font属性。
不推荐:
1 | border-top-style: none; |
推荐:
1 | border-top: 0; |
0后面不带单位
省略0后面的单位。
不推荐:
1 | padding-bottom: 0px; |
推荐:
1 | padding-bottom: 0; |
属性格式
- 为了保证一致性和可扩展性,每个声明应该用分号结束,每个声明换行。
- 属性名的冒号后使用一个空格。出于一致性的原因,属性和值(但属性和冒号之间没有空格)的之间始终使用一个空格。
- 每个选择器和属性声明总是使用新的一行。
- 属性选择器或属性值用双引号(""),而不是单引号(")括起来。
- URI值(url())不要使用引号。
作为最佳实践,我们应该遵循以下顺序(应该按照下表的顺序):
结构性属性:
- display
- position, left, top, right etc.
- overflow, float, clear etc.
- margin, padding
表现性属性:
- background, border etc.
- font, text
不推荐:
1 | .box { |
推荐:
1 | .box { |
本文采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 realwds's blog
评论