国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

HTML標簽嵌套到底怎樣才算是規范?

Hegel_Gu / 3111人閱讀

摘要:最近在看前端開發最佳實踐,看到有一個小節的標題是過時的塊狀元素和行內元素,之前聽到的關于標簽的嵌套規范一直在講,甚至面試的時候還被問到,但是自己在之前的工作中,的的確確用標簽包過塊元素,為了能有一個更好的用戶體驗,模擬的一個按鈕。

最近在看《web前端開發最佳實踐》,看到有一個小節的標題是 過時的塊狀元素和行內元素 ,之前聽到的關于HTML標簽的嵌套規范一直在講,甚至面試的時候還被問到,但是自己在之前的工作中,的的確確用標簽包過塊元素,為了能有一個更好的用戶體驗,模擬的一個按鈕。那個時候就有困惑,不是行內元素不能嵌套塊元素么?直到看到這段才大概了解了一些,因為我用的文檔申明是HTML5的,所以解析結構會按照HTML5的標準。

這是我之前匯總的一些標簽嵌套規范:

ul,li/ol,li/dl,dt,dd擁有父子級關系的標簽;ul、ol下都只能跟li,dl下只能跟dt.dd。

p,dt,h標簽里面不能嵌套塊元素;

a標簽不能嵌套a;

行內元素不能嵌套塊元素;

看一下下面這段結構,據說是來自facebook的代碼:

很明顯,不符合上面嵌套規則最后一條,因為它在內聯元素元素中嵌套了塊元素元素

頁面元素的兩個基本類型:行內元素和塊狀元素,在HTML5新規范中,已經淡化了元素的這兩種分類,取而代之的方案是更具有語義的HTML元素的分類方式。

因為在構建HTML的過程中,首先要考慮的是語義,判斷使用的元素合適與否,就是要判斷元素對應的標簽是否符合當前元素所表達的語義,而不是元素的樣式是不是更符合當前的UI設計。

為了消除塊元素和行內元素這兩個概念引起的混淆(到底什么時候用行內元素,什么時候用塊元素,其中元素又那么多,怎么分?),HTML5中的分類比HTML 4.01中的分類更具體,總共分為7類,每種元素并不限于某一類型,有可能某個元素屬于多個類型。

Flow(流式元素):

這個分類基本上包含了HTML 4.01中的塊狀元素和行內元素。

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(如果該元素設置了scoped屬性), sub, sup, svg, table,textarea, time, 
u, ul, var, video, wbr, text

Heading(標題元素):

h1, h2, h3, h4, h5, h6, hgroup

Sectioning(章節元素):

article, aside, nav, section

Phrasing(段落元素):

基本上等同于HTML 4.01中行內元素的范圍

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(交互元素):

交互式元素是專門用于與用戶交互的元素。

a, audio(如果設置了controls屬性), button, details, embed, iframe, img(如果設置了usemap屬性), 
input(如果"type"屬性不為hidden狀態), keygen, label, menu(如果"type"屬性為toolbar狀態),
object(如果設置了usemap屬性), select, textarea, video(如果設置了controls屬性)

Metadata(元數據元素):

base,command,link,meta,noscript,script,style,title


最后

希望大家有時間可以去看一下這篇《HTML標簽嵌套規則》,我也是參考了很多,而且在文章的最后總結中,驗證了我之前匯總的規則中的一處錯誤,即:

~
元素內嵌入
等元素所有瀏覽器可以解析正常。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/50836.html

相關文章

  • 前端知識點整理

    摘要:難怪超過三分之一的開發人員工作需要一些知識。但是隨著行業的飽和,初中級前端就業形勢不容樂觀。整個系列的文章大概有篇左右,從我是如何成為一個前端工程師,到各種前端框架的知識。 為什么 call 比 apply 快? 這是一個非常有意思的問題。 作者會在參數為3個(包含3)以內時,優先使用 call 方法進行事件的處理。而當參數過多(多余3個)時,才考慮使用 apply 方法。 這個的原因...

    Lowky 評論0 收藏0
  • 前端知識點整理

    摘要:難怪超過三分之一的開發人員工作需要一些知識。但是隨著行業的飽和,初中級前端就業形勢不容樂觀。整個系列的文章大概有篇左右,從我是如何成為一個前端工程師,到各種前端框架的知識。 為什么 call 比 apply 快? 這是一個非常有意思的問題。 作者會在參數為3個(包含3)以內時,優先使用 call 方法進行事件的處理。而當參數過多(多余3個)時,才考慮使用 apply 方法。 這個的原因...

    snowLu 評論0 收藏0
  • 我與前端 | 視野的重要性

    摘要:提升視野的方式有很多,最重要的一點在于自己主動動腦思考,去想的越多,收獲也就會越多。相關文章鏈接我與前端因興趣起源 HTML5學堂(碼匠):在自學WEB前端或者任何一種技術的過程中,視野都是極其重要的影響因素,視野決定著我們努力的方向,縱然我們多么努力,走錯了方向也是枉然。 視野的重要性 (我與前端系列-02) 1.書籍問題導致自學效率不高 通過一段時間的自學,已經清晰了解了HTML與...

    william 評論0 收藏0

發表評論

0條評論

Hegel_Gu

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<