HTML5标签嵌套规则详解【必看】
⽬录[1]分类 [2]⼦元素 [3]总结
前⾯的话
  在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】⼦元素可以没有,也可以是⽂本内容
svg和canvas的区别<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)
以上这篇HTML5标签嵌套规则详解【必看】就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。