前面的話

  CSS是網(wǎng)頁樣式的描述語言,CSS規(guī)范能夠使CSS代碼風(fēng)格保持一致,使得CSS更容易理解和維護。本文將詳細介紹CSS規(guī)范

 

代碼風(fēng)格

【選擇器】

  1、選擇器 與 { 之間包含空格

.selector {}

  2、>、+、~ 選擇器的兩邊各保留一個空格

/* good */main > nav{}/* bad */main>nav {}

【屬性風(fēng)格】

  1、屬性名 與之后的 : 之間不包含空格, : 與 屬性值 之間包含空格

margin: 0;

  2、對于以逗號分隔的屬性值,每個逗號后面都應(yīng)該插入一個空格

font-family: Arial, sans-serif;

  3、對于只包含一條聲明的樣式,為了易讀性和便于快速編輯,建議將語句放在同一行。對于帶有多條聲明的樣式,應(yīng)當(dāng)將聲明分為多行

.selector {
    margin: 0;
    padding: 0;
}.selector { margin: 0;}

   4、最后一個屬性值也以分號結(jié)尾,這樣可以減少修改、添加和維護代碼時不必要的失誤和麻煩

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

/* good */.selector {
    margin: 0;
    padding: 0;
}/* bad */.selector {
    margin: 0;
    padding: 0}

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

【引號】

  1、文本內(nèi)容用雙引號包圍

html[lang|="zh"] q:before {
    font-family: "Microsoft YaHei", sans-serif;
    content: "“";
}

  2、url() 函數(shù)中的路徑不加引號

body {background: url(bg.png);}

【省略】

  1、對于屬性值或顏色參數(shù),省略小于 1 的小數(shù)前面的 0 

panel {opacity: .8}

  2、省略值為0時的單位,為節(jié)省不必要的字節(jié)同時也使閱讀方便,將0px、0em、0%等值縮寫為0

.m-box{margin:0 10px;background-position:50% 0;}

【縮寫】

  1、盡量使用簡寫形式的十六進制值,例如,用 #fff 代替 #ffffff

  2、十六進制值應(yīng)該全部小寫,例如,#fff。在掃描文檔時,小寫字符易于分辨,因為他們的形式更易于區(qū)分

  3、在可以使用縮寫的情況下,盡量使用屬性縮寫,它最大的好處就是節(jié)省了字節(jié),便于維護,并使閱讀更加一目了然

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

/* good */.post {
    font: 12px/1.5 arial, sans-serif;
}/* bad */.post {
    font-family: arial, sans-serif;
    font-size: 12px;
    line-height: 1.5;
}

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

【媒體查詢】

  將媒體查詢@media放在盡可能相關(guān)規(guī)則的附近。不要將它們打包放在一個單一樣式文件中或者放在文檔底部。如果把它們分開了,將來更容易被遺忘

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

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

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

 

注釋

【單行注釋】

  星號與內(nèi)容之間保留一個空格,以確保即使在編碼錯誤的情況下也可以正確解析樣式

/* 單行注釋 */

【塊狀注釋】

  在必要的情況下,可以使用塊狀注釋,塊狀注釋保持統(tǒng)一的縮進對齊。星號要一列對齊,星號與內(nèi)容之間保留一個空格

/**
 * 多行注釋1
 * 多行注釋2 */

【文件注釋】

  文件頂部必須包含文件注釋,星號要一列對齊,星號與內(nèi)容之間保留一個空格,標識符冒號與內(nèi)容之間保留一個空格

  用 @name 標識文件說明,@author標識作者,@description為文件或模塊描述,@update為可選項,建議每次改動都更新一下

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

/**
 * @name: 文件名或模塊名
 * @description: 文件或模塊描述
 * @author: author-name(mail-name@qq.com)
 *          author-name2(mail-name2@qq.com)
 * @update: 2017-07-14 00:00 */

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

 

聲明順序

  1、私有在前,標準在后,即先寫帶有瀏覽器私有標志的,后寫W3C標準的

.m-box {
    -webkit-box-shadow: 0 0 0 #000;
    -moz-box-shadow: 0 0 0 #000;
    box-shadow: 0 0 0 #000;
}

  2、相關(guān)的屬性聲明應(yīng)當(dāng)歸為一組,并按照(布局類屬性->盒模型屬性->文本類屬性->修飾類屬性)順序排列

  布局屬性處在第一位,是因為它可以使一個元素脫離正常文本流,并且覆蓋盒模型相關(guān)的樣式。盒模型緊跟其后,因為它決定了一個組件的大小和位置。其他屬性只在組件內(nèi)部起作用或者不會對前面兩種情況的結(jié)果產(chǎn)生影響,所以它們排在后面

布局類屬性     position / top / right / bottom / left / float / display / overflow 等
盒模型屬性   border / margin / padding / width / height 等
文本類屬性     font / line-height / text-align / word-wrap 等
修飾類屬性     background / color / transition / list-style 等

  另外,如果包含 content 屬性,應(yīng)放在最前面

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

.sidebar {    /* formatting model */
    position: absolute;
    top: 50px;
    left: 0;
    overflow-x: hidden;    /* box model */
    width: 200px;
    padding: 5px;
    border: 1px solid #ddd;    /* typographic */
    font-size: 14px;
    line-height: 20px;    /* visual */
    background: #f5f5f5;
    color: #333;
    -webkit-transition: color 1s;
       -moz-transition: color 1s;
            transition: color 1s;
}

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

 

避免使用

  1、盡量不使用 !important 聲明。 當(dāng)需要強制指定樣式且不允許任何場景覆蓋時,通過標簽內(nèi)聯(lián)和 !important 定義樣式

  2、避免耗性能的屬性,如express和filter。不過有時候需求大于一切

/* expression */.class {width: expression(this.width>100?'100px':'auto');}/* filter */.class {filter: alpha(opacity=50);}

  3、避免使用 @import,與 <link> 標簽相比,@import 指令要慢很多,不光增加了額外的請求次數(shù),還會導(dǎo)致不可預(yù)料的問題

  4、避免sass中不必要的嵌套,這是因為雖然可以使用嵌套,但是并不意味著應(yīng)該使用嵌套。只有在必須將樣式限制在父元素內(nèi)(也就是后代選擇器),并且存在多個需要嵌套的元素時才使用嵌套

  5、盡量避免使用hack,由于瀏覽器自身缺陷,無法避開的時候,可以允許使用適當(dāng)?shù)腍ack。統(tǒng)一使用“*”和“_”分別對IE7和6進行Hack

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

/* IE7會顯示灰色#888,IE6會顯示白色#fff,其他瀏覽器顯示黑色#000 */.m-list{
    color:#000;
    *color:#888;
    _color:#fff;

http://www.cnblogs.com/xiaohuochai/p/7173108.html