HTML5标准阅读笔记——元素分类与内容模型(Content Model)
标准原文:地址
HTML元素分为2类:
HTML4中,元素被分成两大类: inline(内联元素)与block(块级元素)。但在实际的开发过程中,因为页面表现的需要,前端工程师经常把inline元素的display值设定为block(比如a标签),也经常把block元素的display值设定为inline;之后更是出现了inline-block这一对外呈现inline、对内呈现block的属性。因此,简单地把HTML元素划分为inline与block已经不再符合实际需求。
基于这种考虑,在HTML5中,标准制定者重新定义了HTML元素的分类,并根据这一新的分类定义了元素的内容模型(Content Model) -- 对于一个元素而言,哪些子元素是合法的,而哪些子元素是非法的。
HTML5中,元素主要分为7类:
Metadata(元数据)
Flow(流)
Sectioning(区段)
Heading(标题)
Phrasing(短语)
Embedded(内联)
Interactive(交互)
HTML5 内容类型旨在使标记结构对浏览器和网站设计者都更有意义。
需要注意的是,HTML5中的这种元素分类与inline、block没有任何关系,任何元素都可以在CSS中被定义为display:inline或者display:block。另外,除了这7大分类,还存在一些较小的分类,如Palpable、Script-Supporting等。
内容类型
元数据(Metadata):
通常出现在页面的head中,定义文档元数据信息的元素 。其作用包括:影响文档中其它节点的展现与行为、定义文档与其它外部资源之间的关系等
元素: