css3代碼書寫規範

不要使用 @import 與 <link> 標籤相比,@import 指令要慢不少,不光增長了額外的請求次數,還會致使不可預料的問題。web

1,CSS有些屬性是能夠縮寫的,好比padding,margin,font等等,這樣精簡代碼同時又能提升用戶的閱讀體驗。app

# Bad    
p{padding-top:20px; padding-bottom:20px; padding-left:20px;padding-right:20px;}  
# Good
p{padding:20px}

注:簡寫形式的屬性聲明 在須要顯示地設置全部值的狀況下,應當儘可能限制使用簡寫形式的屬性聲明。常見的濫用簡寫屬性聲明的狀況以下:ide

/* Bad example */
.element {
  margin: 0 0 10px;
  background: red;
  background: url("image.jpg");
  border-radius: 3px 3px 0 0;
}

/* Good example */
.element {
  margin-bottom: 10px;
  background-color: red;
  background-image: url("image.jpg");
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}

2,16進制顏色代碼縮寫url

# Bad    
.color{#ff0000;}
# Good
.color{#f00;}

3,連字符CSS選擇器命名規範.net

1>.長名稱或詞組可使用中橫線來爲選擇器命名。 2>.使用有意義的字母組合爲選擇器命名 3>.避免過分任意的簡寫。.btn 表明 button,可是 .s 不能表達任何意思。code

4,不要隨意使用Id id在JS是惟一的,不能屢次使用,而使用class類選擇器卻能夠重複使用,另外id的優先級優先與class,因此id應該按需使用,而不能濫用。orm

5,將同一區塊的樣式寫在一塊兒,方便後期查找修改。element

.video_file{position: relative;display: inline-block;width:100%;height:180px;}
        .video_file .video_img,.video_file video{position:absolute;left:0;top:0;right:0;bottom:0;width: 100%;height: 100%;    transform: translate(0,0);-webkit-transform: translate(0,0);}
        .video_file .video_img{z-index: 10;}
        .video_file video{z-index:8;}
        .video_file button{background: url(http://static.kaiba315.com/video_bg.png) no-repeat;background-size: 100%;position: absolute;left: 50%;top:50%;width:3rem ;height:3rem ;margin-left:-1.5rem;margin-top: -1.5rem;text-indent: -999px;z-index: 99;border: none;}

6,媒體查詢(Media query)的位置 將媒體查詢放在儘量相關規則的附近。不要將他們打包放在一個單同樣式文件中或者放在文檔底部。若是你把他們分開了,未來只會被你們遺忘。rem

.element { ... }
.element-avatar { ... }
.element-selected { ... }

@media (min-width: 480px) {
  .element { ...}
  .element-avatar { ... }
  .element-selected { ... }
}

7,帶前綴的屬性 當使用特定廠商的帶有前綴的屬性時,經過縮進的方式,讓每一個屬性的值在垂直方向對齊,這樣便於多行編輯。文檔

.selector {
  -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.15);
          box-shadow: 0 1px 2px rgba(0,0,0,.15);
}

8,註釋 代碼是由人編寫並維護的。請確保你的代碼可以自描述、註釋良好而且易於他人理解。好的代碼註釋可以傳達上下文關係和代碼目的。不要簡單地重申組件或 class 名稱。

/* Bad example */
/* Modal header */
.modal-header {
  ...
}

/* Good example */
/* Wrapping element for .modal-title and .modal-close */
.modal-header {
  ...
}
相關文章
相關標籤/搜索