HTML5标签嵌套规则?

2020-06-10 20:03发布

6条回答
爱前端
3楼 · 2020-06-11 10:04

HTML5中,元素的分类不再是块元素或内联元素这样来分类(其实从来就没有这样分),而是按照如下分类来分:Flow(流式元素)、Heading(标题元素)、Sectioning(章节元素)、Phrasing(段落元素)、Embedded(嵌入元素)、Interactive(交互元素)、Metadata(元数据元素)。


元素开始与结束标签嵌套错误,页面可以在大部分浏览器被正常解析,IE9会出现解析错误。

元素内嵌入

等元素造成所有浏览器的解析错误。

~

元素内嵌入
等元素所有浏览器可以解析正常。

在列表元素

  • 等插入非列表兄弟元素会导致IE6\IE7的解析错误。

    a元素里不可以嵌套交互式元素(、

  • 猜不到结尾
    4楼 · 2020-06-11 11:47

    一、HTML 标签包括 块级元素(block)、内嵌元素(inline)

    1、块级元素

    一般用来搭建网站架构、布局、承载内容……它包括以下这些标签:

    address、blockquote、center、dir、div、dl、dt、dd、fieldset、form、h1~h6、hr、isindex、menu、noframes、noscript、ol、p、pre、table、ul

    2、内嵌元素

    一般用在网站内容之中的某些细节或部位,用以“强调、区分样式、上标、下标、锚点”等等,下面这些标签都属于内嵌元素:

    a、abbr、acronym、b、bdo、big、br、cite、code、 dfn、em、font、i、img、input、kbd、label、q、s、samp、select、small、span、strike、 strong、sub、sup、textarea、tt、u、var

    二、HTML 标签的嵌套规则

    1. 块元素可以包含内联元素或某些块元素,但内联元素却不能包含块元素,它只能包含其它的内联元素:

    —— 对

    —— 对

    —— 错

    2. 块级元素不能放在

    里面:

    —— 错

    —— 错

    3. 有几个特殊的块级元素只能包含内嵌元素,不能再包含块级元素,这几个特殊的标签是:

    h1、h2、h3、h4、h5、h6、p、dt

    4. li 内可以包含 div 标签 —— 这一条其实不必单独列出来的,但是网上许多人对此有些疑惑,就在这里略加说明:

    li 和 div 标 签都是装载内容的容器,地位平等,没有级别之分(例如:h1、h2 这样森严的等级制度^_^),要知道,li 标签连它的父级 ul 或者是 ol 都 可以容纳的,为什么有人会觉得 li 偏偏容纳不下一个 div 呢?别把 li 看得那么小气嘛,别看 li 长得挺瘦小,其实 li 的胸襟很大 滴……

    5. 块级元素与块级元素并列、内嵌元素与内嵌元素并列:

    —— 对

    —— 对

    —— 错


    小猴子
    5楼 · 2020-06-11 14:20

    行内元素不应该嵌套块级元素,补充一些标签嵌套问题:

    • 标签最好不要嵌套块级元素,可以嵌套内联元素。但是不能嵌套标签和之类的标签!

    • ul和ol的子元素不能是别的元素,只能是li,不能是别的元素,比如

      ,但是li中可以是div,要不然在ie6和7下回把非li解析到li的内部。这个切记没有办法修复!


    • p标签不能嵌套块级元素甚至不能嵌套p元素,只能嵌套内联元素,不然对p嵌套的块级元素设置css不起作用。

    • button里面不要嵌套a标签,不然在js里面会有两个事件,还有就是button里面放img要记得给图片添加alt属性。

    • dt标签里面不能嵌套块级元素,只能嵌套内联元素。但是dd可以嵌套块级元素。




    奥利给
    6楼 · 2020-06-11 21:09

    ....

    的子元素是语句型元素