什么样的HTML标签成对出现,哪些不是成对的?
HTML标记通常是成对的,如
<h1>
和</h1>
,尽管有些标记表示空元素,因此不成对,例如<img>
。
“空元素”是什么意思?<img>
代表图像嵌入,不是非空元素吗?
谢谢。
发布于 2015-02-24 01:49:34
除空隙元件外,所有标签都成对,在撰写本文时,这些标签包括: area、base、br、col、embed、hr、img、input、keygen、link、meta、param、source、track和wbr。
发布于 2015-02-24 11:02:42
维基百科页面(到目前为止)是混乱和混乱的,它使用了旧的HTML术语:直到HTML4.01和各种空元素规范的术语“空隙元件”在HTML5中被“空隙元件”所取代。这些术语用于描述不能包含任何内容的元素,这是HTML中定义的“content”的技术含义。当HTML以线性文本的形式出现,使用标记序列化时,这个“内容”就是在开始标记和结束标记之间出现的内容(对于某些元素,这两种内容都可能是隐含的)。在文档对象模型中,“content”由元素节点或文本节点的子节点组成。
空虚并不意味着不可见。例如,<hr>
通常呈现为水平规则。但是元素是空的,因为它的定义不允许元素的任何内容。
在HTML5中引入了“空元素”,包括:面积、基数、br、col、embed、hr、img、input、keygen、link、meta、param、source、track、wbr。然而,这意味着不允许任何内容的内容模型的元素;列表如下所示。这些元素的定义指定了“内容模型:空”。
如果在适用的HTML规范中声明为空/空元素,则元素就是空/空元素。每个元素的定义指示其内容模型(允许的内容)。
“空元素”是(或曾经)一个元素,其EMPTY
声明的内容以形式语法表示。因此,它只是一个语法概念:空元素不能在开始标记和结束标记之间有任何内容(任何元素或任何文本(除空格之外))。根据除XHTML之外的HTML规则,必须省略(隐含)结束标记,而在XHTML中,空元素可以用存在的结束标记(例如<br></br>
)编写,也可以使用特殊的语法,其中开始标记中的斜杠也使其充当结束标记,例如<br/>
。XHTML1.0的第C.2条中推荐使用后者。
HTML5有两个语法(序列化、线性化):经典的HTML语法和XHTML语法。在前者中,用于空元素的旧HTML规则适用于void元素,例如,<br>
不允许使用结束标记。但是,为了兼容起见,允许使用斜杠,例如<br/>
,但是它没有任何效果。在XHTML语法中,所有的XML语法规则都适用,因此<br>
本身是致命的无效(良好的格式错误),必须使用<br></br>
或<br/>
。
https://stackoverflow.com/questions/28686871
复制相似问题