1、HTML
(1) 语法
缩进使用两个空格代替 Tab
嵌套元素缩进一次
属性定义全部使用双引号,避免单引号
不需要在自闭和元素的尾部添加斜杠(/),如
<input type="password">
不能省略可选的结束标签,如
</li>
,</body>
(2) HTML5 DOCTYPE
在每个 HTML 页面第一行添加标准模式(Standard Mode)声明,确保在每个浏览器中表现一致
<!DOCTYPE html>
(3) IE 兼容模式
IE 支持根据特定的 <meta>
标签确定绘制当前页面所应采用的 IE 版本,建议设置如下
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
(4) 字符编码
明确声明字符编码,确保浏览器能够快速定位页面内容的渲染方式,建议采用 UTF-8 编码
<head> <meta charset="UTF-8"> </head>
(5) 引入 CSS 文件
根据 HTML5 规范,引入 CSS 文件时不需要指定 type
属性,默认值是 text/css
,如
<link rel="stylesheet" href="xxx.css">
(6) 引入 JavaScript 文件
根据 HTML5 规范,引入 JavaScript 文件时不需要指定 type
属性,默认值是 text/javascript
,如
<script src="xxx.js"></script>
(7) 属性顺序
HTML 属性建议按照以下顺序依次排列
class
id
,name
data-*
src
,for
,type
,href
title
,alt
aria-*
,role
注意:
class
用于标识可复用组件,应该放在首位id
用于标识某一具体组件,应该放在次位
(8) boolean 类型属性
根据 HTML5 规范,boolean 类型属性在声明时不需要赋值,如
<input type="text" disabled> <input type="checkbox" value="1" checked> <select> <option value="1" selected>1</option> </select>
(9) 尽量减少嵌套的标签数量
(10) 尽量避免通过 JavaScript 动态生成标签,这样做不利于查找、编辑且影响性能
2、CSS
(1) 语法
缩进使用两个空格代替 Tab
将单独的选择器单独放在一行
在每个声明块的左花括号前添加一个空格
声明块的右花括号单独成行
每条声明语句的
:
后插入一个空格每条声明独占一行
所有声明语句以分号结尾
对于以逗号分隔的属性值,每个逗号后面插入一个空格
margin: 0 0 15px 0;
不要在 rgb()、rgba()、hsl()、hsla() 或 rect() 值的内部的逗号后面插入空格。这样利于从多个属性值(既加逗号也加空格)中区分多个颜色值(只加逗号,不加空格),如
background-color: rgba(0,0,0,.5);
对于属性值或颜色参数,省略小于 1 的小数前面的 0,如
background-color: rgba(0,0,0,.5);
十六进制值应该全部小写,如使用
#fff
替代#FFF
尽量使用简写形式的十六进制值,如使用
#fff
替代#ffffff
为选择器中的属性添加双引号,如使用
input[type="text"]
替代input[type=text]
避免为 0 值指定单位,如使用
margin: 0;
替代margin: 0px;
(2) 声明顺序
/* Positioning */ position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 100; /* Box-model */ display: block; float: right; width: 100px; height: 100px; /* Typography */ font: normal 13px "Helvetica Neue", sans-serif; line-height: 1.5; color: #333; text-align: center; /* Visual */ background-color: #f5f5f5; border: 1px solid #e5e5e5; border-radius: 3px; /* Misc */ opacity: 1;
(3) 避免使用 @import
与 <link>
标签相比,@import
指令慢很多
<!-- Use link elements --> <link rel="stylesheet" href="core.css"> <!-- Avoid @imports --> <style> @import url("more.css"); </style>
解决方案:
使用多个
<link>
元素通过 Sass 或 Less 类似的 CSS 预处理器将多个 CSS 文件编译为一个文件
通过 Rails、Jekyll 或其他系统中提供过 CSS 文件合并功能
(4) class 命名
class 名称中只能出现小写字符和破折号(
-
非_
)class 名称应当尽可能短,并且意义明确
避免过度简写
基于最近的父 class 或基本(base) class 作为新 class 的前缀
(5) 选择器
- 对于通用元素使用 class ,这样利于渲染性能的优化
- 对于经常出现的组件,避免使用属性选择器
- 选择器要尽可能短,并且尽量限制组成选择器的元素个数,建议不要超过 3
(6) 设置文件编码为 UTF-8
(7) 在文件结尾添加一个空白行
更多web前端开发知识,请查阅 HTML中文网 !!