内容模型

HTML的内容模型(Content Model)定义了各个HTML元素间可能的包含关系。

 

概述

HTML4中,HTML元素被被分成inline(内联元素)与block(块级元素)两大类,HTML5放弃了这种分类,重新定义了内容模型(Content Model)并将HTML元素扩展为7大类。

元数据型

元数据型(Metadata)元素是指那些定义文档元数据信息的元素, 其作用包括:影响文档中其它节点的展现与行为、定义文档与其它外部资源之间的关系等。包括<base>、<command>、<link>、<meta>、<noscript>、<script>、<style>和<title>。

文档流型

所有可以放在<body>标签内,构成文档内容的元素均属于文档流型(flow)元素。因此,除了只能放在<head>标签内的<base>, <link>, <meta>, <style>, <title>元素外,剩下的所有元素均属于文档流型(flow)元素。

区块型

区块型(sectioning)元素是定义页面分区的元素,包括<article>、<aside>、<nav>、<section>四个元素

标题型

标题型(heading)元素是定义区块内容标题的元素,包括<h1>到<h6>以及<hgroup>。

语句型

所有可以放在<p>标签内,构成段落内容的元素均属于语句型(phrasing)元素,语句型(phrasing)元素均属于文档流型(flow)元素。基本上有点等同于HTML4里的内联元素。

内嵌型

内嵌型(embedded)元素允许在文档引入另一个资源的元素或者插入文档的另一种语言,包括<audio>、<canvas>、<embed>、<iframe>、<img>、<math>、<object>、<svg>和<video>。

交互型

交互型(interactive)元素是专门用于用户交互的元素,包括<a>、<audio>、<button>、<details>、<embed>、<iframe>、<img>、<input>、<keygen>、<label>、<menu>、<object>、<select>、<textarea>。