前端学习

前端编码规范之CSS

2019-05-09  本文已影响1人  1194b60087a9

 "字是门面书是屋",我们不会去手写代码,但是敲出来的代码要好看、有条理,这还必须得有一点约束~

  团队开发中,每个人的编码风格都不尽相同,有时候可能存在很大的差异,为了便于压缩组件对代码进行压缩以及书写样式的规范统一和美观,很有必要大家一起来研究一套基本规范(模板)!

我先抛砖引玉。(禁止)、(必须)等字眼,在这里只是表示强调,未严格要求。

 选择Indent Using Spaces,Tab Width:4两项即可。

2. 每个样式属性后(必须)加 ";"

方便压缩工具"断句"。

3. Class命名中(禁止)出现大写字母,(必须)采用” -“对class中的字母分隔,如:

/* 正确的写法 */

.hotel-title{

font-weight: bold;

}

/* 不推荐的写法 */

.hotelTitle{

font-weight: bold;

}

用"-"隔开比使用驼峰是更加清晰。

产品线-产品-模块-子模块,命名的时候也可以使用这种方式(@Artwl)

4. 空格的使用,以下规则(必须)执行:

.hotel-content{

font-weight: bold;

}

选择器与{ 之前(必须)要有空格

属性名的: 后(必须)要有空格

属性名的: 前(禁止)加空格

一个原因是美观,其次IE 6存在一个bug, 戳bug

5.多选择器规则之间(必须)换行

当样式针对多个选择器时每个选择器占一行

/* 推荐的写法 */

a.btn,

input.btn,

input[type="button"] {

......

}

6.(禁止)将样式写为单行, 如

.hotel-content{margin:10px;background-color:#efefef;}

单行显示不好注释,不好备注,这应该是压缩工具的活儿~

7.(禁止)向 0 后添加单位, 如:

.obj{

left:0px;

}

只是为了统一。记住,绿色字表强调,不表强制!

8.(禁止)使用css原生import

使用css原生import有很多弊端,比如会增加请求数等....

推荐文章:Don't use @import

9.(推荐)属性的书写顺序, 举个例子:

.hotel-content {

/* 定位 */

display:block;

position:absolute;

left:0;

top:0;

/* 盒模型 */

width:50px;

height:50px;

margin:10px;

border:1px solid black;

/ *其他* /

color:#efefef;

}

定位相关, 常见的有:display position left top float 等

盒模型相关, 常见的有:width height margin padding border 等其他属性

按照这样的顺序书写可见提升浏览器渲染dom的性能

10. 小图片(必须)sprite合并

推荐文章:NodeJs智能合并CSS精灵图工具iSpriter

11.(推荐)当编写针对特定html结构的样式时,使用元素名+ 类名

/* 所有的nav都是针对ul编写的 */

ul.nav {

......

}

".a div"和".a div.b",为什么后者好?如果需求有所变化,在".a"下有多加了一个div,试问,开始的样式是不是会影响后来的div啊~

12.(推荐)IE Hack List

/* 针对ie的hack */

selector {

property:value;/* 所有浏览器 */

property:value\9;/* 所有IE浏览器 */

property:value\0;/* IE8 */

+property:value;/* IE7 */

_property:value;/* IE6 */

*property:value;/* IE6-7 */

}

当使用hack的时候想想能不能用更好的样式代替

13.(不推荐)ie使用filter,( 禁止)使用expression

这里主要是效率问题,应该当格外注意,咱们要少用烧CPU的东西~ 

14.(禁止)使用行内(inline)样式

靖鸣君

像这样的行内样式,最好用一个class代替。又如要隐藏某个元素,可以给他加一个class

.hide{

display: none;

}

尽量做到样式和结构分离~

15.(推荐)reset.css样式

推荐网站:http://www.cssreset.com/

16.(禁止)使用"*"来选择元素

/*别这样写*/

* {

margin:0;

padding:0;

}

这样写是没有必要的,一些元素在浏览器中默认有margin或padding值,但是只是部分元素,没有必要将所有元素的margin、padding值都置为0。

17. 链接的样式,(务必)按照这个顺序来书写

a:link->a:visited->a:hover->a:active

18.等你补充...

多年编程经验,今年1月整理了一批2019年最新WEB前端教学视频,不论是零基础想要学习前端还是学完在工作想要提升自己,这些资料都会给你带来帮助,从HTML到各种框架,帮助所有想要学好前端的同学,学习规划、学习路线、学习资料、问题解答。只要加入WEB前端学习交流qun:296212562,即可免费获取,学习不怕从零开始,就怕从不开始。

上一篇 下一篇

猜你喜欢

热点阅读