CSS 编码规范

#1 语法

用两个空格来代替制表符(tab),这是唯一能保证在所有环境下获得一致展现的方法。
为选择器分组时,将单独的选择器单独放在一行。
为了代码的易读性,在每个声明块的左花括号前添加一个空格。
声明块的右花括号应当单独成行。
每条声明语句的 : 后应该插入一个空格。
为了获得更准确的错误报告,每条声明都应该独占一行。
所有声明语句都应当以分号结尾。最后一条声明语句后面的分号是可选的,但是,如果省略这个分号,你的代码可能更易出错。
对于以逗号分隔的属性值,每个逗号后面都应该插入一个空格(例如,box-shadow)。
颜色取值 rgb()、rgba()、hsl()、hsla() 或 rect() ,不要在取值中插入空格。
对于属性值或颜色参数,省略小数前面的 0 (例如,.5 代替 0.5;-.5px 代替 -0.5px)。
十六进制值应该全部小写,例如,#fff。在浏览文档时,小写字符易于分辨,因为他们的形式更易于区分。
尽量使用简写形式的十六进制值,例如,用 #fff 代替 #ffffff。
为选择器中的属性添加双引号,例如,input[type="text"]。只有在某些情况下是可选的,但是,为了代码的一致性,建议都加上双引号。
避免为 0 值指定单位,例如,用 margin: 0; 代替 margin: 0px;。
url() 函数中的路径不加引号。
url() 函数中的绝对路径可省去协议名。
/* Bad CSS */
.selector, .selector-secondary, .selector[type=text] {
  padding:15px;
  margin:0px 0px 15px;
  background-color:rgba(0, 0, 0, 0.5);
  box-shadow:0 1px 2px #CCC,inset 0 1px 0 #FFFFFF
}

/* Good CSS */
.selector,
.selector-secondary,
.selector[type="text"] {
  padding: 15px;
  margin-bottom: 15px;
  background-color: rgba(0,0,0,.5);
  box-shadow: 0px 1px 2px #ccc, inset 0 1px 0 #fff;
}

#2 书写顺序

  1. Positioning(位置属性)(position, top, right, z-index, display, float等)
  2. Box Model(盒子模型)(width, height, padding, margin)
  3. Typographic (font, line-height, letter-spacing, color, text-align等)
  4. Visual (视觉)(background, border等)
  5. 其他(animation, transition等)

由于定位(positioning)可以从正常的文档流中移除元素,并且还能覆盖盒模型(box model)相关的样式,因此排在首位;盒模型排在第二位,因为它决定了组件的尺寸和位置;其他属性只是影响组件的内部(inside)或者是不影响前两组属性,因此排在后面。

.sidebar {
  /* formatting model: positioning schemes / offsets / z-indexes / display / ...  */
  position: absolute;
  top: 50px;
  left: 0;
  overflow-x: hidden;

  /* box model: sizes / margins / paddings / borders / ...  */
  width: 200px;
  padding: 5px;
  border: 1px solid #ddd;

  /* typographic: font / aligns / text styles / ... */
  font-size: 14px;
  line-height: 20px;

  /* visual: colors / shadows / gradients / ... */
  background: #f5f5f5;
  color: #333;
  -webkit-transition: color 1s;
     -moz-transition: color 1s;
          transition: color 1s;

  /* misc */
  opacity: 1;
}

#3不要使用 @import

与 <link> 标签相比,@import 指令要慢很多,不光增加了额外的页面请求,还会导致不可预料的问题。替代办法有以下几种:
  1. 使用多个 元素
  2. 通过 Sass 或 Less 类似的 CSS 预处理器将多个 CSS 文件编译为一个文件
<!-- Use link elements -->
<link rel="stylesheet" href="core.css">

<!-- Avoid @imports -->
<style>
  @import url("more.css");
</style>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值