首页前端开发HTML解析HTML5中的标签嵌套规则

解析HTML5中的标签嵌套规则

时间2024-01-22 18:37:16发布访客分类HTML浏览545
导读:收集整理的这篇文章主要介绍了解析HTML5中的标签嵌套规则,觉得挺不错的,现在分享给大家,也给大家做个参考。下面小编就为大家带来一篇HTML5标签嵌套规则详解【必看】。小编觉得挺不错的,现在分享给大家,也给大家做个参考前面的话 在html...
收集整理的这篇文章主要介绍了解析HTML5中的标签嵌套规则,觉得挺不错的,现在分享给大家,也给大家做个参考。下面小编就为大家带来一篇HTML5标签嵌套规则详解【必看】。小编觉得挺不错的,现在分享给大家,也给大家做个参考

前面的话
  在html5中,a> 元素的子元素可以是块级元素,这在以前是被认为不符合规则的。本文将详细介绍html5的标签嵌套规则

分类
   html5出现之前,经常把元素按照block、inline、inline-block来区分。在html5中,元素不再按照display属性来区分,而是按照内容模型来区分。

分为元数据型(metadata content)、区块型(sectioning content)、标题型(heading content)、文档流型(flow content)、语句型(phrasing content)、内嵌型(embedded content)、交互型(interactive content)。元素不属于任何一个类别,被称为穿透的;元素可能属于不止一个类别,称为混合的。

 元数据元素(metadata content)是可以被用于说明其他内容的表现或行为,或者在当前文档和其他文档之间建立联系的元素

base link meta noscript script style template tITle

 流元素(flow content)是在应用程序和文档的主体部分中使用的大部分元素

a abbr address area(如果它是map元素的子元素) article aside audio b bdi bdo blockquote br button canvas cite code data datalist del DFn div dl em embed fieldset figure footer form h1 h2 h3 h4 h5 h6 header hr i iframe img input ins kbd keygen label main map mark math meter nav noscript object ol output p PRe progress q ruby s samp script section select small span strong sub sup svg table template textarea time u ul VAR video wbr text

区块型元素(sectioning content)是用于定义标题及页脚范围的元素

article aside nav section
  标题型元素(heading content)定义一个区块/章节的标题

h1 h2 h3 h4 h5 h6
  语句型元素(phrasing content)是用于标记段落级文本的元素

a abbr area (如果它是map元素的子级) audio b bdi bdo br button canvas cite code data 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 template textarea time u var video wbr text
  嵌入型元素(embedded content)是引用或插入到文档中其他资源的元素

audio canvas embed iframe img math object svg video
  交互型元素(interactive content)是专门用于与用户交互的元素

a audio(如果设置了controls属性) button embed iframe img(如果设置了uSEMap属性) input(如果tyPE属性不为hidden) keygen label object(如果设置了usemap属性) select textarea video (如果设置了controls属性)

子元素
【1】子元素是流元素

article> 、section> 、blockquote> 、li> 、dd> 、figcaption> 、div> 、main> 、td>
  【1.1】子元素是流元素,不包括main> 元素

aside> 、nav>
  【1.2】子元素是流元素,但不包括table> 元素

caption>
  【1.3】子元素是流元素,但不包括form> 元素

form>
  【1.4】子元素是流元素,但不包括header> 、footer> 、main> 元素

header> 、footer> 、main>
  【1.5】子元素是流元素,但不包括header> 、footer> 、区块型元素(sectioning content)、标题型元素(heading content)

dt> 、th>
  【1.6】子元素是流元素,但不包括header> 、footer> 、address> 、区块型元素(sectioning content)、标题型元素(heading content)

address>
  【1.7】子元素是一个figcaption> 元素,紧跟着流元素

figure>
  【1.8】子元素是一个legend> 元素,紧跟着流元素

filedset>

【2】子元素是语句型元素

h1> 、h2> 、h3> 、h4> 、h5> 、h6> 、p> 、pre> 、em> 、strong> 、small> 、s> 、cite> 、q> 、abbr> 、data> 、time> 、code> 、var> 、samp> 、kbd> 、sub> 、sup> 、i> 、b> 、u> 、mark> 、bdi> 、bdo> 、span> 、input> 、output> 、legend> 、label>
  【2.1】子元素是语句型元素,但不包括和自身相同的元素

dfn> 、progress> 、meter>
  【2.2】子元素是语句型元素,但不包括交互型元素(interactive content)

button>

【3】子元素是transparent(以它的父元素允许的子元素为准)

ins> 、del> 、map>
  【3.1】子元素是transparent(以它的父元素允许的子元素为准),但不包括交互型元素(interactive content)

a>
  【3.2】子元素可以没有、可以是param> 元素,也可以是transparent(以它的父元素允许的子元素为准)

object>

【4】无子元素

hr> 、br> 、wbr> 、img> 、embed> 、param> 、source> 、track> 、area> 、col> 、keygen>
  【4.1】子元素可以没有、可以是li> 元素,也可以是script> 、template> 元素

ol> 、ul>
  【4.2】子元素可以没有、可以是dt> 和dd> 元素,也可以是script> 、template> 元素

dl>
  【4.3】子元素可以没有,可以是option> 、optgroup> ,也可以是script> 、template> 元素

select>
  【4.4】子元素可以没有,可以是option> ,也可以是script> 、template> 元素

optgroup>
  【4.5】子元素可以没有、可以是option> 元素

datalist>
  【4.6】子元素可以没有、也可以是track> 元素,也可以是source> 元素

audio> 、video>
  【4.7】子元素可以没有,也可以是col> 、template> 元素

colgroup>
  【4.8】子元素可以没有,可以是tr> ,也可以是script> 、template> 元素

tbody> 、thead> 、tfoot>
  【4.9】子元素可以没有,可以是tr> 、th> ,也可以是script> 、template> 元素

tr>

【5】子元素是caption> 、colgroup> 、thead> 、tfoot> 、tbody> ,也可以是script> 、template> 元素

table>

【6】子元素是文本内容

textarea>
  【6.1】子元素可以没有,也可以是文本内容

option>

总结
  关于每个元素的详细嵌套规则,上部分已经详细介绍。这部分主要对常用标签的嵌套规则进行总结

  [注意]将鼠标移动到深灰色背景的文字上,title将显示该元素所包含的标签

【1】h1> 、h2> 、h3> 、h4> 、h5> 、h6> 、p> 的子元素是语句型元素

【2】header> 、footer> 不可嵌套header> 、footer>

【3】a> 的子元素是transparent(以它的父元素允许的子元素为准),但不包括交互型元素(interactive content)

【4】form> 不可嵌套form>

【5】button> 子元素是语句型元素,不可嵌套交互型元素(interactive content)

【6】caption> 不可嵌套table>

【7】dt> 、th> 不可嵌套header> 、footer> 、区块型元素(sectioning content)、标题型元素(heading content)

【相关推荐】

1. 免费h5在线视频教程

2. HTML5 完整版手册

3. HTML5之video标签详解

4. HTML5不支持标签和新增标签详解

以上就是解析HTML5中的标签嵌套规则的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

标签

若转载请注明出处: 解析HTML5中的标签嵌套规则
本文地址: https://pptw.com/jishu/583235.html
H5实现输入框添加语音功能的方法详解 H5与传统html的区别