前端 HTML規(guī)范

1.基本設(shè)置

1.1 縮進(jìn)使用4個(gè)空格(四個(gè)空格在所有編輯器上顯示縮進(jìn)一致)

1.2 嵌套的節(jié)點(diǎn)應(yīng)該縮進(jìn)

示例:

<!--bad-->
<html>
<div class="demo">我并沒有縮進(jìn)</div>
<div class="demo">我確實(shí)沒有縮進(jìn)</div>
</html> 
<!--good--> 
<html>
    <div class="demo">我并沒有縮進(jìn)</div>
    <div class="demo">我確實(shí)沒有縮進(jìn)</div>
</html>

1.3 所有標(biāo)簽和屬性名稱一律小寫(否則可能導(dǎo)致Angular的不兼容。)

<!-- bad-->  
<div class="demo" ATTR1="1">我使用的是大寫</div>
<!--good-->
<div class="demo" attr1="1">我使用的是小寫</div>  

1.4 屬性值一律使用雙引號(hào)(統(tǒng)一標(biāo)準(zhǔn),方便js的代碼構(gòu)建)

1.5 不要在自動(dòng)閉合標(biāo)簽結(jié)尾處使用斜線(參考見HTML5 規(guī)范

2.HTML doctype

統(tǒng)一在頁面開頭使用<!DOCTYPE html>這個(gè)doctype來啟用標(biāo)準(zhǔn)模式脑奠,使其在每個(gè)瀏覽器中得到一致的渲染待逞。

3.語言屬性

建議html標(biāo)簽上加上lang屬性。因?yàn)檫@樣會(huì)給語音工具和翻譯工具幫助虚茶,告訴它們應(yīng)當(dāng)怎么去發(fā)音和翻譯。

具體可以在sitepoint上可以查到語言列表芥永;

<!--示例-->
<html lang="zh-CN">
    <!-- ... -->
</html>

4.字符編碼

通過明確聲明字符編碼聚蝶,能夠確保瀏覽器快速并容易的判斷頁面內(nèi)容的渲染方式杰妓。這樣做的好處是,可以避免在 HTML 中使用字符實(shí)體標(biāo)記(character entity)碘勉,從而全部與文檔編碼一致(一般采用 UTF-8 編碼)巷挥。

<!--示例-->
<head>
    <meta charset="UTF-8">
</head>

5.IE兼容模式

<meta> 標(biāo)簽可以指定頁面應(yīng)該用什么版本的IE來渲染;詳細(xì)的解讀可以點(diǎn)擊這個(gè)鏈接验靡; 不同doctype在不同瀏覽器下會(huì)觸發(fā)不同的渲染模式倍宾。除非有強(qiáng)烈的特殊需求,否則最好是設(shè)置為 edge mode胜嗓,從而通知 IE 采用其所支持的最新的模式高职。

<!--示例-->
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=Edge">
    </head>
    ...
</html>

6.標(biāo)簽語義化

使用有良好語義的標(biāo)簽,能夠很好地實(shí)現(xiàn)自我解釋辞州,方便搜索引擎理解網(wǎng)頁的結(jié)構(gòu)怔锌,抓取重要內(nèi)容。去掉樣式后也會(huì)根據(jù)瀏覽器的默認(rèn)樣式很好地組織網(wǎng)頁內(nèi)容孙技,具有很好的可讀性产禾,從而實(shí)現(xiàn)對(duì)特殊終端的兼容。

<!--bad-->
<div class="h2">
    標(biāo)簽的語義<a href="#">更多>></a>
</div>  
<div class="p">
    段落一的內(nèi)容……
    <span class="strong">根據(jù)瀏覽器的默認(rèn)樣式</span>牵啦。亚情。。
</div>  
<div class="p">段落二的內(nèi)容……</div> 

<!--good-->
<div class="title">  
    <h2>標(biāo)簽的語義</h2>  
    <a href="#">更多>></a>  
</div>  
<p>段落一的內(nèi)容……<strong>根據(jù)瀏覽器的默認(rèn)樣式 </strong>……</p>  
<p>段落二的內(nèi)容</p>  

7.布爾(boolean)型屬性

boolean屬性就是指不需要聲明取值的屬性哈雏,XHTML需要每個(gè)屬性聲明取值楞件,但是HTML5并不需要; HTML5 規(guī)范中 disabled裳瘪、checked土浸、selected 等屬性不用設(shè)置值。

<!--示例-->
<select>
    <option value="1" selected>1</option>
</select>
<input type="text" disabled>
<input type="video" value="1" checked>

8.代碼嵌套

8.1盡量減少嵌套的層次

在編寫HTML代碼時(shí)彭羹,需要盡量避免多余的父節(jié)點(diǎn)黄伊;

<!-- not well -->
<span class="imgCon">
    <img src="...">
</span>

<!-- better -->
<img class="imgCon" src="...">

8.2 嵌套要合理,不要胡亂嵌套

譬如:<li>就應(yīng)該用在ul,ol的下面派殷;dd,dt就應(yīng)該嵌套在dl下面还最。

<!--bad-->
<ul>
    <div>我嵌套到ul里面了</div>
</ul>
<!--good-->
<ul>
    <li>我嵌套到ul里面了</li>
</ul> 

8.3 塊級(jí)元素不能放在標(biāo)簽p里面,a里面不能再嵌套a標(biāo)簽毡惜。

<!--bad-->
<p><div>我是塊級(jí)元素</div></p>
<a href="###"><a href="###">我是錨點(diǎn)</a></a>
<!--good-->
<p><span>我是塊級(jí)元素</span></p>
<a href="###"><strong>我是錨點(diǎn)</strong></a>

9.favicon

保證favicon的可訪問性拓轻。 在未指定 favicon 時(shí),大多數(shù)瀏覽器會(huì)請(qǐng)求根目錄下的 favicon.ico 经伙。為了保證favicon可訪問扶叉,可以采取下面2個(gè)方法: 1.在 Web Server 根目錄放置 favicon.ico 文件。 2.使用 link 指定 favicon,如右所示:<link rel="icon" href="/icon/favicon.ico">

10.viewport

  • viewport: 一般指的是瀏覽器窗口內(nèi)容區(qū)的大小,不包含工具條枣氧、選項(xiàng)卡等內(nèi)容溢十;
  • width: 瀏覽器寬度,輸出設(shè)備中的頁面可見區(qū)域?qū)挾龋?/li>
  • device-width: 設(shè)備分辨率寬度达吞,輸出設(shè)備的屏幕可見寬度茶宵;
  • initial-scale: 初始縮放比例;
  • maximum-scale: 最大縮放比例宗挥;
  • 頁面寬度小于 980px 時(shí),若需 iOS 設(shè)備友好种蝶,應(yīng)當(dāng)設(shè)置 viewport 的 width 值來適應(yīng)你的頁面寬度契耿。同時(shí)因?yàn)椴煌苿?dòng)設(shè)備分辨率不同,在設(shè)置時(shí)螃征,應(yīng)當(dāng)使用 device-width 和 device-height 變量搪桂。關(guān)于 viewport 的更多介紹,可以參見 Safari Web Content Guide的介紹盯滚。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末踢械,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子魄藕,更是在濱河造成了極大的恐慌内列,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件背率,死亡現(xiàn)場(chǎng)離奇詭異话瞧,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)寝姿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門交排,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人饵筑,你說我怎么就攤上這事。” “怎么了锅必?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵倒槐,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我嫂冻,道長(zhǎng)胶征,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任桨仿,我火速辦了婚禮睛低,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己钱雷,他們只是感情好骂铁,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著罩抗,像睡著了一般拉庵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上套蒂,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天钞支,我揣著相機(jī)與錄音,去河邊找鬼操刀。 笑死烁挟,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的骨坑。 我是一名探鬼主播撼嗓,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼欢唾!你這毒婦竟也來了且警?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤礁遣,失蹤者是張志新(化名)和其女友劉穎斑芜,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體祟霍,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡押搪,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了浅碾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片大州。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖垂谢,靈堂內(nèi)的尸體忽然破棺而出厦画,到底是詐尸還是另有隱情,我是刑警寧澤滥朱,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布根暑,位于F島的核電站,受9級(jí)特大地震影響徙邻,放射性物質(zhì)發(fā)生泄漏排嫌。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一缰犁、第九天 我趴在偏房一處隱蔽的房頂上張望淳地。 院中可真熱鬧怖糊,春花似錦、人聲如沸颇象。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽遣钳。三九已至扰魂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蕴茴,已是汗流浹背劝评。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留倦淀,地道東北人付翁。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像晃听,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子砰识,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

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

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5能扒? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 27,486評(píng)論 1 45
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案辫狼? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,754評(píng)論 1 92
  • 本文來自:百度FEX 1 前言 HTML 作為描述網(wǎng)頁結(jié)構(gòu)的超文本標(biāo)記語言初斑,在百度一直有著廣泛的應(yīng)用。本文檔的目標(biāo)...
    2729aff9f931閱讀 2,224評(píng)論 0 1
  • 原文地址 在移動(dòng)設(shè)備上進(jìn)行網(wǎng)頁的重構(gòu)或開發(fā)膨处,首先得搞明白的就是移動(dòng)設(shè)備上的viewport了见秤,只有明白了viewp...
    matthewm閱讀 1,551評(píng)論 0 4
  • 打卡日期:2019年2月14日 打卡累計(jì)天數(shù):52/60 #宣言(沒有反思的人生不值得過)# 孩子第二個(gè)30天目標(biāo)...
    小溪水0403閱讀 139評(píng)論 0 0