编写灵活、稳定、高质量的 HTML 和 CSS 代码的规范。
1、对于属性的定义,确保全部使用双引号,绝不要使用单引号。
2、不要在自闭合(self-closing)元素的尾部添加斜线
3、为 html 根元素指定 lang 属性,从而为文档设置正确的语言。
4、meta标签设为<meta http-equiv="X-UA-Compatible" content="IE=Edge">,通知 IE 采用其所支持的最新的模式。
5、HTML 属性应当按照以下给出的顺序依次排列,确保代码的易读性。
class (可复用组件)
id(具体组件
,name
data-*
src
,for
,type
,href
,value
title
,alt
role
,aria-*
6、编写 HTML 代码时,尽量避免多余的父元素。
7、尽量不用Javascript生成内容性标签。
8、不要在 rgb()
、rgba()
、hsl()
、hsla()
或 rect()
值的内部的逗号后面插入空格。这样利于从多个属性值(既加逗号也加空格)中区分多个颜色值(只加逗号,不加空格)。
9、十六进制值应该全部小写,例如,#fff
。在扫描文档时,小写字符易于分辨,因为他们的形式更易于区分。
10、相关的属性声明应当归为一组,并按照下面的顺序排列:
- Positioning(定位)
- Box model (盒模型)
- Typographic (内部字体表现: 文字颜色大小、行高、对齐方式等)
- Visual (元素整体表现: 背景颜色, 边框等)
11、不要使用@import,
与 <link>
标签相比,@import
指令要慢很多。 可以使用多个<link>标签或者使用Sass 或 Less 等 CSS 预处理器将多个 CSS 文件编译为一个文件。
12、将媒体查询放在尽可能相关规则的附近。不要将他们打包放在一个单一样式文件中或者放在文档底部。
13、当使用特定厂商的带有前缀的属性时,通过缩进的方式,让每个属性的值在垂直方向对齐,这样便于多行编辑。
14、对于只包含一条声明的样式,为了易读性和便于快速编辑,建议将语句放在同一行。对于带有多条声明的样式,还是应当将声明分为多行。
15、大部分情况下,我们不需要为简写形式的属性声明指定所有值。过度使用简写形式的属性声明会导致代码混乱,并且会对属性值带来不必要的覆盖从而引起意外的副作用。
例如,HTML 的 heading 元素只需要设置上、下边距(margin)的值,因此,在必要的时候,只需覆盖这两个值就可以。
16、好的代码注释能够传达上下文关系和代码目的。不要简单地重申组件或 class 名称。
17、class 名称中只能出现小写字符和破折号(dashe);
基于最近的父 class 或基本(base) class 作为新 class 的前缀。
使用有意义的名称。使用有组织的或目的明确的名称,不要使用表现形式(presentational)的名称。
18、对于通用元素使用 class ,这样利于渲染性能的优化。
选择器要尽可能短,并且尽量限制组成选择器的元素个数,建议不要超过 3 。
只有在必要的时候才将 class 限制在最近的父元素内(例如,不使用带前缀的 class 时 -- 前缀类似于命名空间)。
19、以组件为单位组织代码段。 如果使用了多个 CSS 文件,将其按照组件而非页面的形式分拆,因为页面会被重组,而组件只会被移动。