CSS 书写规范
1CSS 书写的几点建议
- 去掉小数点前面的 0,
0.5em→.5em。 - 颜色用小写,用缩写,如:
#fff。 - 不要随意使用 ID,ID 是唯一的,不能多次使用,而使用 class 类选择器却可以重复使用,另外 ID 的优先级高于 class,所以 ID 应该按需使用,而不能滥用。
- 0 不用加单位。
- 尽量缩写,
margin: 5px 10px 5px 10px;→margin: 5px 10px;。
2 CSS 属性书写顺序
相关的属性声明应当归为一组,并按照下面的顺序排列:
- Positioning 定位相关属性
- Box model 盒子模型相关属性
- Typography 文字字体相关属性
- Visual 视觉效果相关属性(背景等)
由于定位(Positioning)可以从正常的文档流中移除元素,并且还能覆盖盒模型(Box model)相关的样式,因此排在首位。盒模型排在第二位,因为它决定了组件的尺寸和位置。
其他属性只是影响组件的内部(inside)或者是不影响前两组属性,因此排在后面。
css
.declaration-order {
/* 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 Class 命名规则
- 推荐使用小写字母。
- class 名称应当尽可能短,并且意义明确,使用有意义的词语作为名称。
- 避免过度任意的简写,
.btn代表 button,但是.s不能表达任何意思。 - 允许多个单词组成类名,推荐 kebab-case 命名方式(短横线分隔符),如
btn-danger、col-md-hidden。 - 基于最近的父元素或基本 class 作为新 class 的前缀,如
news-title
css
/* Bad example */
.t { ... }
.abc { ... }
.aaa { ... }
/* Good example */
.tweet { ... }
.important { ... }
.tweet-header { ... }4 常见的命名
4.1 常见命名 1
| 名称 | 用途 |
|---|---|
| .wrap 或 .wrapper | 用于外侧包裹 |
| .container 或 .ct | 包裹容器 |
| .header | 用于头部 |
| .body | 页面 body |
| .footer | 页面尾部 |
| .aside、.sidebar | 用于侧边栏 |
| .content | 用于主要内容 |
| .navigation | 导航元素 |
| .pagination | 分页 |
4.2 常见命名 2
| 名称 | 用途 |
|---|---|
| .tabs | tab 切换、选项卡 |
| .breadcrumbs | 导航列表、面包屑 |
| .dropdown | 下拉菜单 |
| .article | 文章 |
| .main | 用于主体 |
| .thumbnail | 头像、小图像 |
| .media | 媒体资源 |
| .panel | 面板 |
| .tooltip | 鼠标放置上去的提示 |
| .popup | 鼠标点击弹出的提示 |
4.3 常见命名 3
| 名称 | 用途 |
|---|---|
| .button、.btn | 按钮 |
| .ad | 广告 |
| .subnav | 二级导航 |
| .menu | 菜单 |
| .tag | 标签 |
| .message 或者 .notice | 提示消息 |
| .summary | 摘要 |
| .logo | logo |
| .search | 搜索框 |
| .login | 登录 |
4.4 常见命名 4
| 名称 | 用途 |
|---|---|
| .register | 注册 |
| .username | 用户名 |
| .password | 密码 |
| .banner | 广告条 |
| .copyright | 版权 |
| .modal 或者 .dialog | 弹窗 |
5 ID 命名规则
- ID 名称应当尽可能短,并且意义明确,使用有意义的词语作为名称。
- ID 名称可以由多个单词组成,推荐 camelCase (小驼峰)命名法,如
#pageHeader。 - ID 不随意使用,一般页面中明确唯一的地方可以使用 ID 选择器,比如页头、页脚等。