HTML, CSS編碼規(guī)范

HTML

  1. 語(yǔ)義與呈現(xiàn)分離
    將元素的語(yǔ)義與元素對(duì)其內(nèi)容呈現(xiàn)結(jié)果的影響分開(kāi)
  2. 元素選用原則
    • 少即是多(less is more)
      標(biāo)記只應(yīng)該應(yīng)內(nèi)容對(duì)語(yǔ)義的需要使用。
      tips:問(wèn)問(wèn)自己打算如何發(fā)揮一個(gè)元素的語(yǔ)義作用,如果不能答出就不用這個(gè)元素
    • 別誤用元素
      只宜將元素用于它們?cè)ǖ挠猛荆灰獎(jiǎng)?chuàng)造自有的語(yǔ)義。如果找不到適合的,可以考慮通用元素(如span或div),并用全局屬性class表明其含義
    • 具體為佳,一以貫之
      同一個(gè)元素的使用在整個(gè)頁(yè)面上要保持一致。

CSS

命名規(guī)范(很重要)

使用連字符分割

.red-box {
   border: 1px solid red;
}

BEM規(guī)范
block-component__element--modify

.stick-man__head--small {
}
.stick-man__head--big {
}

小項(xiàng)目中一般只用連字符分隔法來(lái)寫(xiě)類(lèi)名,用戶(hù)界面復(fù)雜的使用BEM方法
css命名視圖解決3類(lèi)問(wèn)題:

  1. 僅從名字就能知道一個(gè) CSS 選擇器具體做什么
  2. 從名字能大致清楚一個(gè)選擇器可以在哪里使用
  3. 從 CSS 類(lèi)的名稱(chēng)可以看出它們之間的聯(lián)系

和JavaScript相關(guān)的類(lèi)名
js-

參考:
[譯]這些 CSS 命名規(guī)范將省下你大把調(diào)試時(shí)間

屬性書(shū)寫(xiě)順序(重要)

同一個(gè)選擇器下的屬性在書(shū)寫(xiě)時(shí),應(yīng)按功能進(jìn)行分組,并按如下順序書(shū)寫(xiě):

  1. 布局方式、位置(position / top / right / bottom / left / float / display / overflow)
  2. 盒模型(border / margin / padding / width / height)
  3. 文本相關(guān)(font / line-height / text-align / word-wrap)
  4. 視覺(jué)效果(background / color / transition / list-style)
    參考:
    CSS編碼規(guī)范

通用樣式規(guī)則

協(xié)議

外部資源的下載盡可能使用https協(xié)議

<!-- Recommended -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>

縮進(jìn)

使用2個(gè)空格縮進(jìn)

.example {
  color: blue;
}

大小寫(xiě)

只使用小寫(xiě)(字符串及特殊情況除外)

<!-- Recommended -->
<img src="google.png" alt="Google">

末尾空白

移除末尾空白

編碼

使用 UTF-8

注釋

范圍、目的

type屬性

在樣式表和腳本中的標(biāo)簽忽略type屬性
HTML5默認(rèn) type 為 text/css 和 text/javascript 類(lèi)型,所以沒(méi)必要指定。即便是老瀏覽器也是支持的。

<!-- 推薦 -->
<script src="http://www.google.com/js/gweb/analytics/autotrack.js"></script>

類(lèi)型選擇器

避免使用css類(lèi)型選擇器
出于性能考慮,非必要情況不使用標(biāo)簽名和id或class進(jìn)行組合

/* 推薦 */
#example {}
.error {}

屬性縮寫(xiě)

寫(xiě)屬性的時(shí)候盡量縮寫(xiě)

/* 推薦 */
border-top: 0;
font: 100%/1.6 palatino, georgia, serif;
padding: 0 1em 2em;

0和單位

省略0后面的單位

/* 推薦 */
border-top: 0;
font: 100%/1.6 palatino, georgia, serif;
padding: 0 1em 2em;

url的引號(hào)

省略u(píng)rl的引號(hào)

@import url(//www.google.com/css/go.css);
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 28,824評(píng)論 1 45
  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,160評(píng)論 1 92
  • 學(xué)會(huì)使用CSS選擇器熟記CSS樣式和外觀屬性熟練掌握CSS各種選擇器熟練掌握CSS各種選擇器熟練掌握CSS三種顯示...
    七彩小鹿閱讀 6,445評(píng)論 2 66
  • 你竟然不知道自己不知道 我們讀書(shū)、讀文章為的就是獲得知識(shí),提高技能,進(jìn)而改變我們的生活,可真正我們閱讀的時(shí)候,在我...
    dou_0bf6閱讀 314評(píng)論 0 1
  • 又被趕來(lái)看店啦!倒是不是排斥什么的,只是覺(jué)得好無(wú)聊??!雖然呆在家里更無(wú)聊…… 最近一個(gè)朋友要結(jié)婚了,差...
    彌月_撒納閱讀 380評(píng)論 0 1

友情鏈接更多精彩內(nèi)容