HTML標(biāo)簽嵌套到底怎樣才算是規(guī)范秋秤?

最近在看《web前端開(kāi)發(fā)最佳實(shí)踐》,看到有一個(gè)小節(jié)的標(biāo)題是 過(guò)時(shí)的塊狀元素和行內(nèi)元素 恨胚,之前聽(tīng)到的關(guān)于HTML標(biāo)簽的嵌套規(guī)范一直在講骂因,甚至面試的時(shí)候還被問(wèn)到,但是自己在之前的工作中赃泡,的的確確用<a>標(biāo)簽包過(guò)塊元素寒波,為了能有一個(gè)更好的用戶(hù)體驗(yàn),模擬的一個(gè)按鈕升熊。那個(gè)時(shí)候就有困惑俄烁,不是行內(nèi)元素不能嵌套塊元素么?直到看到這段才大概了解了一些级野,因?yàn)槲矣玫奈臋n申明是HTML5的页屠,所以解析結(jié)構(gòu)會(huì)按照HTML5的標(biāo)準(zhǔn)。

這是我之前匯總的一些標(biāo)簽嵌套規(guī)范:

  • ul,li/ol,li/dl,dt,dd擁有父子級(jí)關(guān)系的標(biāo)簽蓖柔;ul辰企、ol下都只能跟li,dl下只能跟dt.dd况鸣。
  • p,dt,h標(biāo)簽里面不能嵌套塊元素蟆豫;
  • a標(biāo)簽不能嵌套a;
  • 行內(nèi)元素不能嵌套塊元素懒闷;

看一下下面這段結(jié)構(gòu),據(jù)說(shuō)是來(lái)自facebook的代碼

<ul>
  <li>
    <h4><a href=""><div></div></a></h4>
  </li>
</ul>

很明顯,不符合上面嵌套規(guī)則最后一條愤估,因?yàn)樗趦?nèi)聯(lián)元素<a>元素中嵌套了塊元素元素<div>

頁(yè)面元素的兩個(gè)基本類(lèi)型:行內(nèi)元素和塊狀元素帮辟,在HTML5新規(guī)范中,已經(jīng)淡化了元素的這兩種分類(lèi)玩焰,取而代之的方案是更具有語(yǔ)義的HTML元素的分類(lèi)方式由驹。

因?yàn)樵跇?gòu)建HTML的過(guò)程中,首先要考慮的是語(yǔ)義昔园,判斷使用的元素合適與否蔓榄,就是要判斷元素對(duì)應(yīng)的標(biāo)簽是否符合當(dāng)前元素所表達(dá)的語(yǔ)義,而不是元素的樣式是不是更符合當(dāng)前的UI設(shè)計(jì)默刚。

為了消除塊元素和行內(nèi)元素這兩個(gè)概念引起的混淆(到底什么時(shí)候用行內(nèi)元素甥郑,什么時(shí)候用塊元素,其中元素又那么多荤西,怎么分澜搅?),HTML5中的分類(lèi)比HTML 4.01中的分類(lèi)更具體邪锌,總共分為7類(lèi)勉躺,每種元素并不限于某一類(lèi)型,有可能某個(gè)元素屬于多個(gè)類(lèi)型觅丰。

  • Flow(流式元素):

這個(gè)分類(lèi)基本上包含了HTML 4.01中的塊狀元素和行內(nèi)元素饵溅。

a, abbr妇萄, address蜕企, area(如果它是map元素的后裔), article嚣伐, aside糖赔, audio, b轩端, bdi放典, bdo, 
blockquote基茵, br奋构, button, canvas拱层, cite弥臼, code, command根灯, datalist径缅, del掺栅, details, dfn纳猪, div氧卧, 
dl,em氏堤, embed沙绝, fieldset, figure鼠锈, footer闪檬, form, h1购笆, h2粗悯, h3, h4由桌, h5为黎, h6, header行您, hgroup铭乾, 
hr, i娃循, iframe炕檩, img, input捌斧, ins笛质, kbd, keygen捞蚂, label妇押, map, mark姓迅, math敲霍, menu, meter丁存,nav肩杈, 
noscript, object解寝, ol扩然, output, p聋伦, pre夫偶, progress界睁, q, ruby索守, s晕窑, samp, script卵佛, section, select敞斋, 
small截汪, span, strong植捎, style(如果該元素設(shè)置了scoped屬性)衙解, sub, sup焰枢, svg蚓峦, table,textarea济锄, time暑椰, 
u, ul荐绝, var一汽, video, wbr低滩, text
  • Heading(標(biāo)題元素):
h1召夹, h2, h3恕沫, h4监憎, h5, h6婶溯, hgroup
  • Sectioning(章節(jié)元素):
article鲸阔, aside, nav爬虱, section
  • Phrasing(段落元素):

基本上等同于HTML 4.01中行內(nèi)元素的范圍

a(如果其只包含段落式元素)隶债, abbr, area(如果它是map元素的后裔)跑筝, audio死讹, b, bdi曲梗, 
bdo赞警, br妓忍, button, canvas愧旦, cite世剖, code, command笤虫, datalist旁瘫, del(如果其只包含段落式元素), 
dfn琼蚯, em酬凳, embed, i遭庶,iframe宁仔, img, input峦睡, ins(如果其只包含段落式元素)翎苫, kbd, keygen榨了, label煎谍, 
map(如果其只包含段落式元素), mark阻逮, math粱快, meter, noscript叔扼, object事哭, output, progress瓜富, q鳍咱, 
ruby, s与柑, samp谤辜, script,select价捧, small丑念, span, strong结蟋, sub脯倚, sup, svg, textarea推正,
time恍涂, u, var植榕, video再沧, wbr, text
  • Embedded(嵌入元素):

嵌入式元素是引用或插入到文檔中其他資源的元素尊残。

audio炒瘸, canvas, embed夜郁, iframe什燕, img, math竞端, object, svg庙睡, video
  • Interactive(交互元素):

交互式元素是專(zhuān)門(mén)用于與用戶(hù)交互的元素事富。

a, audio(如果設(shè)置了controls屬性)乘陪, button统台, details, embed啡邑, iframe贱勃, img(如果設(shè)置了usemap屬性), 
input(如果"type"屬性不為hidden狀態(tài))谤逼, keygen贵扰, label, menu(如果"type"屬性為toolbar狀態(tài))流部,
object(如果設(shè)置了usemap屬性)戚绕, select, textarea枝冀, video(如果設(shè)置了controls屬性)
  • Metadata(元數(shù)據(jù)元素):
base舞丛,command,link果漾,meta球切,noscript,script绒障,style吨凑,title
HTML5規(guī)范中的標(biāo)簽類(lèi)型關(guān)系圖

最后

希望大家有時(shí)間可以去看一下這篇《HTML標(biāo)簽嵌套規(guī)則》,我也是參考了很多端盆,而且在文章的最后總結(jié)中怀骤,驗(yàn)證了我之前匯總的規(guī)則中的一處錯(cuò)誤费封,即:<h1>~<h6>元素內(nèi)嵌入<div>等元素所有瀏覽器可以解析正常。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蒋伦,一起剝皮案震驚了整個(gè)濱河市弓摘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌痕届,老刑警劉巖韧献,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異研叫,居然都是意外死亡锤窑,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)嚷炉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)渊啰,“玉大人,你說(shuō)我怎么就攤上這事申屹』嬷ぃ” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵哗讥,是天一觀的道長(zhǎng)嚷那。 經(jīng)常有香客問(wèn)我,道長(zhǎng)杆煞,這世上最難降的妖魔是什么魏宽? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮决乎,結(jié)果婚禮上队询,老公的妹妹穿的比我還像新娘。我一直安慰自己瑞驱,他們只是感情好娘摔,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著唤反,像睡著了一般凳寺。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上彤侍,一...
    開(kāi)封第一講書(shū)人閱讀 51,443評(píng)論 1 302
  • 那天肠缨,我揣著相機(jī)與錄音,去河邊找鬼盏阶。 笑死晒奕,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播脑慧,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼魄眉,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了闷袒?” 一聲冷哼從身側(cè)響起坑律,我...
    開(kāi)封第一講書(shū)人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎囊骤,沒(méi)想到半個(gè)月后晃择,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡也物,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年宫屠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片滑蚯。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡浪蹂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出告材,到底是詐尸還是另有隱情乌逐,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布创葡,位于F島的核電站,受9級(jí)特大地震影響绢慢,放射性物質(zhì)發(fā)生泄漏灿渴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一胰舆、第九天 我趴在偏房一處隱蔽的房頂上張望骚露。 院中可真熱鬧,春花似錦缚窿、人聲如沸棘幸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)误续。三九已至,卻和暖如春扫茅,著一層夾襖步出監(jiān)牢的瞬間蹋嵌,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工葫隙, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留栽烂,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像腺办,于是被迫代替她去往敵國(guó)和親焰手。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

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

  • HTML標(biāo)簽解釋大全 一怀喉、HTML標(biāo)記 標(biāo)簽:!DOCTYPE 說(shuō)明:指定了 HTML 文檔遵循的文檔類(lèi)型定義(D...
    米塔塔閱讀 3,242評(píng)論 1 41
  • HTML4的元素嵌套規(guī)則 在我們的印象中會(huì)有這樣的嵌套規(guī)則: 內(nèi)聯(lián)元素不能嵌套塊元素 元素和 元素不能嵌套塊元素 ...
    zpeople閱讀 1,083評(píng)論 0 1
  • 學(xué)習(xí)HTML的最佳網(wǎng)站沒(méi)有之一http://www.w3school.com.cn/html/ 關(guān)于HTML/HT...
    Amyyy_閱讀 2,069評(píng)論 0 16
  • HTML5 標(biāo)簽comment 注釋標(biāo)簽用于在源文檔中插入注釋书妻。注釋內(nèi)容不會(huì)被瀏覽器顯示。為代碼編寫(xiě)注釋的好處是...
    才気莮孒閱讀 4,058評(píng)論 1 25
  • 2016-12-31 一年的最后一天磺送,恨不得時(shí)間停留驻子,不要過(guò)去。然而估灿,它就那么一秒一秒的過(guò)去了崇呵。這一年,什么目標(biāo)也...
    優(yōu)雅桃子閱讀 236評(píng)論 0 1