好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

前端规范2-CSS规范_html/css_WEB-ITnose


CSS规范

缩进

使用Tab缩进(相当于四个空格)

选择器与{之间必须包含空格, 参1

属性名和之后的:不允许包含空格, :与属性值之间必须包含空格。

列表性属性值在单行时,后必须跟一个空格。

例:

对于超长的样式,在样式值得空格处或,后换行,建议按逻辑分组。

例:

选择器

当用集合方式选择且有多个选择器时,建议声明单独写在一行(利于维护)

>、+、-选择器的两边各留一个空格

  例

属性选择器中的值必须用双引号包围

  

属性定义是同一类的写在同一行( 参-1)


属性定义后必须以分号结尾(特别是最后一个)

如无必要,不得为 id、class 选择器添加类型选择器进行限定。

说明:在性能和维护上,都有一定的影响

1.使用 classes 而不是通用元素标签来优化渲染性能。(下图第891行和895行比较)

2.建议选择器的嵌套层级应不大于 3 级,位置靠后的限定条件应尽可能精确。( 参1)

3.避免在经常出现的组件中使用一些属性选择器 (例如,[class^="..."])。浏览器性能会受到这些情况的影响。

4.只在必要的情况下使用后代选择器

以上1和2的例子

属性简写

在能够缩写的情况下,尽量使用缩写。

如果需要重写属性时,尽量避免不必要的属性简写。

例应该避免以下情况:

margin:3px 5px;

margin-left:8px;

属性书写顺序( 参1, 参2ctrl+F:声明顺序)

Formatting Model 相关属性包括:position / top / right / bottom / left / float / display / overflow 等 Box Model 相关属性包括:border / margin / padding / width / height 等 Typographic 相关属性包括:font / line-height / text-align / word-wrap 等 Visual 相关属性包括:background / color / transition / list-style 等

清除浮动

!important

尽量不要使用!important

在第三方环境(理如定义一个模块,模块中使用在线的文本编辑器,可以尝试使用改属性定义)

z-index

暂时没有用到太复杂的,在使用该属性的时候标注即可

值与单位

数值(参1)

当为0到1之间的小数时,是否省略整数部分的0?

例:opacity: .8;

但是没有查到省略小数点前零的原因,所以这里就暂时还是写上零

url()

url()中的路径不加引号

例:background: url(bg.png);

不使用绝对路径可省去的协议名

例:background: url(//baidu.com/img/bg.png);

//意思为http://协议,有的资料说在IE中会请求两次

长度

省略零的单位

padding: 0 8px;

颜色

RGB颜色值 必须 使用16进制的标记符号#RRGGBB。

带有alpha(透明)的颜色信息值使用rgba()。

能使用缩写的时候使用缩写形式

不允许使用颜色名,rgb()

保证16进制的标记符号大小写统一。(建议大写)

2D位置(background-position)

必须给出background-position的两个方向的值。

因为默认为0% 0%,但是只给一个方向的值,另一方向会默认为center属性值。

文字

font-family属性应该使用英文

例:font-family:"Microfoft YaHei";

font-size属性

不得小于12px

原因:windows文字显示效果差,不易辨认

font-weight

属性值用数字表示。(100~900)

实际只有400和700两个档分别等于normal和bold。

已有浏览器支持600属性值。(参1: 字体漫谈)

line-height应该使用相对值,因为会根据font-size值进行计算。

其它

属性前缀

兼容性写法属性由长到短冒号对其。

例子

查看更多关于前端规范2-CSS规范_html/css_WEB-ITnose的详细内容...

  阅读:25次