Skip to content

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-dangercol-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

名称用途
.tabstab 切换、选项卡
.breadcrumbs导航列表、面包屑
.dropdown下拉菜单
.article文章
.main用于主体
.thumbnail头像、小图像
.media媒体资源
.panel面板
.tooltip鼠标放置上去的提示
.popup鼠标点击弹出的提示

4.3 常见命名 3

名称用途
.button、.btn按钮
.ad广告
.subnav二级导航
.menu菜单
.tag标签
.message 或者 .notice提示消息
.summary摘要
.logologo
.search搜索框
.login登录

4.4 常见命名 4

名称用途
.register注册
.username用户名
.password密码
.banner广告条
.copyright版权
.modal 或者 .dialog弹窗

5 ID 命名规则

  • ID 名称应当尽可能短,并且意义明确,使用有意义的词语作为名称。
  • ID 名称可以由多个单词组成,推荐 camelCase (小驼峰)命名法,如 #pageHeader
  • ID 不随意使用,一般页面中明确唯一的地方可以使用 ID 选择器,比如页头、页脚等。