CSS代碼規(guī)范

CSS規(guī)范

一.命名規(guī)范BEM(Block Element Modifier)

1.Block name

1) 實體名稱中的單詞之間用連字符分隔(-)

HTML

<div class="menu">...</div>
<div class="menu-name">...</div>

CSS

.menu { color: red; }
.menu-name { color: red; }
2.Element name

1) 元素名與塊名之間用雙下劃線分隔(__)

2) 需要注意的是不要出現(xiàn)block__elem1__elem2類似的命名搪柑,因為元素總是塊的一部分匣椰,而不是另一個元素的。

HTML

<div class="menu">
    ...
    <span class="menu__item"></span>
</div>

CSS

.menu__item { color: red; }
3.Block modifier name

1) 修飾符與塊或元素的名稱之間用雙連字符分隔(--)

2) 修飾語的值與其名稱之間用雙連字符分隔(--)

HTML

<div class="menu menu--hidden"> ... </div>
<div class="menu menu--theme--islands"> ... </div>

CSS

.menu--hidden { display: none; }
.menu--theme--islands { color: green; }
Example:

HTML

<header class="header">
    <img class="logo">
    <form class="search-form">
        <input class="search-form__input search-form__input--focus">
        <button class="search-form__button search-form__button--size--s"></button>
    </form>
    <ul class="lang-switcher">
        <li class="lang-switcher__item">
            <a class="lang-switcher__link" href="url">en</a>
        </li>
        <li class="lang-switcher__item">
            <a class="lang-switcher__link" href="url">ru</a>
        </li>
    </ul>
</header>

CSS

/* 塊命名規(guī)則1:block */
/* header Block */
.header{
    ...
}

/* 塊命名規(guī)則2:block-name */
/* search-from Block */
.header .search-form{
    ...
}

/* 元素命名規(guī)則:block-name__element-name */
/* lang-switcher__item Element */
.lang-switcher .lang-switcher__item{
    ...
}

/* 修飾符命名規(guī)則1:block-name__element-name--modifier-status */
/* search-form__input--focus Modifier */
.search-form .search-form__input--focus{
    ...
}

/* 修飾符命名規(guī)則2: block-name__element-name--modifier-name--modifier-value */
/* search-form__button--size--s Modifier */
.search-form__button--size--s{
    ...
}

二.注釋規(guī)范

1.單行注釋

1)注釋內(nèi)容第一個字符和最后一個字符都是一個空格字符蛀缝,單獨占一行刘莹,行與行之間相隔一行阎毅。

推薦

/* Comment Text */
.sd-style{}

/* Comment Text */
.sd-style{}

不推薦

/* Comment Text */
.sd-style{}

.sd-style{}/* Comment Text */
2.模塊注釋

1)注釋內(nèi)容第一個字符和最后一個字符都是一個空格字符,/* 與 模塊信息描述占一行点弯,多個橫線分隔符-與/占一行扇调,行與行之間相隔兩行*

推薦

/* Module A
---------------------------------------------------------------- */
.mod_a {}


/* Module B
---------------------------------------------------------------- */
.mod_b {}

不推薦

/* Module A
---------------------------------------------------------------- */
.mod_a {}
/* Module B
---------------------------------------------------------------- */
.mod_b {}
3.文件信息注釋
@charset "UTF-8";
/**
 * @desc File Info
 * @author Author Name
 * @date 2015-10-10
 */

三.代碼風(fēng)格

1.代碼格式化

1)樣式書寫一般有兩種:一種是緊湊格式 (Compact)

.sd-style{display: block;width: 50px;}

一種是展開格式(Expanded)

.sd-style{
    display: block;
    width: 50px;
}

我們約定統(tǒng)一使用展開格式書寫樣式

2.代碼大小寫
/* 推薦 */
.jdc{
    display:block;
}
    
/* 不推薦 */
.JDC{
    DISPLAY:BLOCK;
}
3.選擇器

1) 盡量少用通用選擇器 *
2) 不使用 ID 選擇器
3) 不使用無具體語義定義的標(biāo)簽選擇器

/* 推薦 */
.sd-style {}
.sd-style li {}
.sd-style li p{}

/* 不推薦 */
*{}
#sd-style {}
.sd-style div{}
4.屬性書寫順序

建議遵循以下順序:
1) 布局定位屬性:display / position / float / clear / visibility / overflow
2) 自身屬性:width / height / margin / padding / border / background
3) 文本屬性:color / font / text-decoration / text-align / vertical-align / white- space / break-word
4) 其他屬性(CSS3):content / cursor / border-radius / box-shadow / text-shadow / background:linear-gradient …

.sd-style {
    display: block;
    position: relative;
    float: left;
    width: 100px;
    height: 100px;
    margin: 0 10px;
    padding: 20px 0;
    font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;
    color: #333;
    background: rgba(0,0,0,.5);
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -o-border-radius: 10px;
    -ms-border-radius: 10px;
    border-radius: 10px;
}
5.CSS3瀏覽器私有前綴寫法

CSS3 瀏覽器私有前綴在前,標(biāo)準(zhǔn)前綴在后

.sd-style {
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -o-border-radius: 10px;
    -ms-border-radius: 10px;
    border-radius: 10px;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末抢肛,一起剝皮案震驚了整個濱河市狼钮,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌雌团,老刑警劉巖燃领,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異锦援,居然都是意外死亡猛蔽,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進(jìn)店門灵寺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來曼库,“玉大人,你說我怎么就攤上這事略板』倏荩” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵叮称,是天一觀的道長种玛。 經(jīng)常有香客問我,道長瓤檐,這世上最難降的妖魔是什么赂韵? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮挠蛉,結(jié)果婚禮上祭示,老公的妹妹穿的比我還像新娘。我一直安慰自己谴古,他們只是感情好质涛,可當(dāng)我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布稠歉。 她就那樣靜靜地躺著,像睡著了一般汇陆。 火紅的嫁衣襯著肌膚如雪怒炸。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天瞬测,我揣著相機(jī)與錄音横媚,去河邊找鬼。 笑死月趟,一個胖子當(dāng)著我的面吹牛灯蝴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播孝宗,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼穷躁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了因妇?” 一聲冷哼從身側(cè)響起问潭,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎婚被,沒想到半個月后狡忙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡址芯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年灾茁,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谷炸。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡北专,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出旬陡,到底是詐尸還是另有隱情拓颓,我是刑警寧澤,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布描孟,位于F島的核電站驶睦,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏匿醒。R本人自食惡果不足惜啥繁,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望青抛。 院中可真熱鬧,春花似錦酬核、人聲如沸蜜另。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽举瑰。三九已至捣辆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間此迅,已是汗流浹背汽畴。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留耸序,地道東北人忍些。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像坎怪,于是被迫代替她去往敵國和親罢坝。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內(nèi)容

  • BEM 基于組件方式的web開發(fā)方法搅窿,基本思想是將用戶界面分成獨立的模塊嘁酿。 Block(塊) 通常指模塊,組件 B...
    xwwawj閱讀 934評論 0 2
  • 1.不要在自閉合的元素尾部添加斜線(h5規(guī)范)男应。 2.為每一個html頁面的第一行添加標(biāo)準(zhǔn)模式闹司。 3.為根元素制定...
    剎那丨永恒閱讀 435評論 0 2
  • 寫在前面:,以下是對谷歌的規(guī)范的摘選和個人理解沐飘;閱讀時可參考英語原文游桩,避免我的誤讀漏讀。實際開發(fā)時多用 vscod...
    web前端_ElonWu閱讀 1,449評論 1 2
  • css編碼規(guī)范 1代碼風(fēng)格 1.1文件 【建議】css使用無BOM的UTF-8編碼 解釋:UTF-8編碼具有更廣泛...
    東東丶醬閱讀 325評論 0 0
  • CSS代碼規(guī)范 文檔 CSS 文件使用無 BOM 的 UTF-8 編碼薪铜。 使用 2 個空格做為一個縮進(jìn)層級众弓,不允許...
    Mica_馬超閱讀 326評論 0 0