WEB前端之HTML 規(guī)范

2019-7-18    seo達(dá)人

如果您想訂閱本博客內(nèi)容,每天自動(dòng)發(fā)到您的郵箱中, 請(qǐng)點(diǎn)這里


摘要
優(yōu)秀的項(xiàng)目源碼,即使是多人開(kāi)發(fā),看代碼也如出一人之手。統(tǒng)一的編碼規(guī)范,可使代碼更易于閱讀,易于理解,易于維護(hù)

HTML 規(guī)范
縮進(jìn)
統(tǒng)一兩個(gè)空格縮進(jìn)

命名規(guī)范
class 應(yīng)以功能或內(nèi)容命名,不以表現(xiàn)形式命名;
class 與 id 單詞字母小寫,多個(gè)單詞組成時(shí),采用中劃線-分隔;
使用唯一的 id 作為 Javascript hook, 同時(shí)避免創(chuàng)建無(wú)樣式信息的 class;
DOCTYPE 聲明
HTML 文件必須加上 DOCTYPE 聲明,并統(tǒng)一使用 HTML5 的文檔聲明:

<!DOCTYPE html>


meta 標(biāo)簽
統(tǒng)一使用 “UTF-8” 編碼
<meta charset="utf-8">


SEO 優(yōu)化
<!-- 頁(yè)面關(guān)鍵詞 -->
<meta name ="keywords" content =""/>
<!-- 頁(yè)面描述 -->
<meta name ="description" content ="">
<!-- 網(wǎng)頁(yè)作者 -->
<meta name ="author" content ="">


優(yōu)先使用 IE 版本和 Chrome
<meta http-equiv ="X-UA-Compatible" content ="IE = edge,chrome = 1">


為移動(dòng)設(shè)備添加視口
<!-- device-width 是指這個(gè)設(shè)備最理想的 viewport 寬度 -->
<!-- initial-scale=1.0 是指初始化的時(shí)候縮放大小是1,也就是不縮放 -->
<!-- user-scalable=0 是指禁止用戶進(jìn)行縮放 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">


禁止自動(dòng)識(shí)別頁(yè)面中有可能是電話格式的數(shù)字
<meta name="format-detection" content="telephone=no">


團(tuán)隊(duì)約定:

pc 端:

<meta charset="utf-8">
<meta name="keywords" content="your keywords">
<meta name="description" content="your description">
<meta name="author" content="author,email address">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
web前端開(kāi)發(fā)資源Q-q-u-n: 767273102 ,內(nèi)有免費(fèi)開(kāi)發(fā)工具,零基礎(chǔ),進(jìn)階視頻教程,希望新手少走彎路 

移動(dòng)端:

<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
<meta name="format-detection" content="telephone=no">


標(biāo)簽
html 標(biāo)簽分為以下幾類:

自閉合標(biāo)簽(self-closing),無(wú)需閉合。例如:area、base、br、col、command、embed、hr、img、input、keygen、link、meta、param、source、track、wbr 等 )
閉合標(biāo)簽(closing tag),需閉合 。例如:textarea、title、h、div、span 等
團(tuán)隊(duì)約定:

所有具有開(kāi)始標(biāo)簽和結(jié)束標(biāo)簽的元素都必須要寫上起止標(biāo)簽,某些允許省略開(kāi)始標(biāo)簽或和束標(biāo)簽的元素亦都要寫上
自閉合標(biāo)簽不要加上結(jié)束標(biāo)簽
自定義標(biāo)簽的名字必須包含一個(gè)破折號(hào)(-),<x-tags>、<my-element>和<my-awesome-app>都是正確的名字,而<tabs>和<foo_bar>是不正確的。這樣的限制使得 HTML 解析器可以分辨那些是標(biāo)準(zhǔn)元素,哪些是自定義元素
自定義標(biāo)簽必須寫上開(kāi)始標(biāo)簽和閉合標(biāo)簽
盡量減少標(biāo)簽數(shù)量
元素屬性
元素屬性值使用雙引號(hào)語(yǔ)法
推薦:

<input type="text">


不推薦:

<input type=text>
<input type='text'>


代碼嵌套
塊元素可以包含內(nèi)聯(lián)元素或某些塊元素,但內(nèi)聯(lián)元素卻不能包含塊元素,它只能包含其它的內(nèi)聯(lián)元素
標(biāo)題和段落中不能包含塊,如:h1、h2、h3、h4、h5、h6、p、dt
塊與內(nèi)聯(lián)不能并列,塊級(jí)元素與塊級(jí)元素并列、內(nèi)嵌元素與內(nèi)嵌元素并列
有些標(biāo)簽是固定的嵌套規(guī)則,比如 ul 包含 li、ol 包含 li、dl 包含 dt 和 dd 等等。
靈活使用偽類
不要讓非內(nèi)容信息污染了你的 HTML,打亂了 HTML 結(jié)構(gòu)??梢允褂?before、:after 等偽類元素

推薦:

HTML 代碼

<!-- That is clean markup! -->
<span class="text-box">
  See the square next to me?
</span>


CSS 代碼:

/* We use a :before pseudo element to solve the design problem of placing a colored square in front of the text content */
.text-box:before {
  content: '';
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background-color: red;
}

1

不推薦:

HTML 代碼:

<!-- We should not introduce an additional element just to solve a design problem  -->
<span class="text-box">
  <span class="square"></span>
  See the square next to me?
</span>


CSS 代碼:

.text-box > .square {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background-color: red;
}
web前端開(kāi)發(fā)資源Q-q-u-n: 767273102 ,內(nèi)有免費(fèi)開(kāi)發(fā)工具,零基礎(chǔ),進(jìn)階視頻教程,希望新手少走彎路 

特殊符號(hào)必須使用轉(zhuǎn)義符
符號(hào) 描述 轉(zhuǎn)義符
空格 &nbsp;
< 小于 &lt;
> 大于 &gt;
& &amp;
" 引號(hào) &quot;
純數(shù)字輸入框
使用 type=“tel” 而不是 type=“number”

<input type="tel">


類型屬性
不需要為 CSS、JS 指定類型屬性,HTML5 中默認(rèn)已包含。

推薦:

<link rel="stylesheet" href="" >
<script src=""></script>


不推薦:

<link rel="stylesheet" type="text/css" href="" >
<script type="text/javascript" src="" ></script>


注釋規(guī)范
單行注釋

一般用于簡(jiǎn)單的描述,如某些狀態(tài)描述、屬性描述等
注釋內(nèi)容前后各一個(gè)空格字符,注釋位于要注釋代碼的上面,單獨(dú)占一行
推薦:

<!-- Comment Text -->
<div>...</div>


不推薦:

<div>...</div><!-- Comment Text -->

<div><!-- Comment Text -->
    ...
</div>


6
模塊注釋

注釋內(nèi)容前后各一個(gè)空格字符
<!-- S Comment Text -->表示模塊開(kāi)始
<!-- E Comment Text -->表示模塊結(jié)束,模塊與模塊之間相隔一行
模塊注釋內(nèi)部嵌套模塊注釋,<!-- /Comment Text -->
推薦:

<!-- S Comment Text A -->
<div class="mod_a">

    <div class="mod_b">
        ...
    </div>
    <!-- /mod_b -->

    <div class="mod_c">
    ...
    </div>
    <!-- /mod_c -->

</div>
<!-- E Comment Text A -->

<!-- S Comment Text D -->
<div class="mod_d">
    ...
</div>
<!-- E Comment Text D -->
web前端開(kāi)發(fā)資源Q-q-u-n: 767273102 ,內(nèi)有免費(fèi)開(kāi)發(fā)工具,零基礎(chǔ),進(jìn)階視頻教程,希望新手少走彎路 

22
語(yǔ)義化
沒(méi)有 CSS 的 HTML 是一個(gè)語(yǔ)義系統(tǒng)而不是 UI 系統(tǒng)
通常情況下,每個(gè)標(biāo)簽都是有語(yǔ)義的
語(yǔ)義化的 HTML 結(jié)構(gòu),有助于機(jī)器(搜索引擎)理解,另一方面多人協(xié)作時(shí),能迅速了解開(kāi)發(fā)者意圖
建議頁(yè)面中多使用語(yǔ)義化標(biāo)簽,而不是整個(gè)頁(yè)面以 div 構(gòu)成
常見(jiàn)標(biāo)簽語(yǔ)義:
標(biāo)簽 語(yǔ)義
<p> 段落
<hn> 標(biāo)題(h1~h6)
<ul> 無(wú)序列表
<ol> 有序列表
<nav> 標(biāo)記導(dǎo)航,僅對(duì)文檔中重要的鏈接群使用
<main> 頁(yè)面主要內(nèi)容,一個(gè)頁(yè)面只能使用一次。如果是 web 應(yīng)用,則包圍其主要功能
<article> 定義外部的內(nèi)容,其中的內(nèi)容獨(dú)立于文檔的其余部分
<section> 定義文檔中的節(jié)(section、區(qū)段)。比如章節(jié)、頁(yè)眉、頁(yè)腳或文檔中的其他部分。
<aside> 定義其所處內(nèi)容之外的內(nèi)容。如側(cè)欄、文章的一組鏈接、廣告、友情鏈接、相關(guān)產(chǎn)品列表
<header> 頁(yè)眉通常包括網(wǎng)站標(biāo)志、主導(dǎo)航、全站鏈接以及搜索框
<footer> 頁(yè)腳,只有當(dāng)父級(jí)是 body 時(shí),才是整個(gè)頁(yè)面的頁(yè)腳
<figure> 規(guī)定獨(dú)立的流內(nèi)容(圖像、圖表、照片、代碼等等)(默認(rèn)有 40px 左右 margin)
藍(lán)藍(lán)設(shè)計(jì)www.bouu.cn )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國(guó)內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、網(wǎng)站建設(shè) 平面設(shè)計(jì)服務(wù)。

分享本文至:

日歷

鏈接

個(gè)人資料

存檔