为什么一些html开始标记以正斜杠结尾?

时间:2009-11-22 14:50:03

标签: html

这可能是一个新手问题,但我需要知道我需要知道的事情:)

为什么某些html开始标记以正斜杠结尾? 例如:

 <meta name="keywords" content="bla bla bla" />

什么是持续的斜线?如果删除它会发生什么?

另外一些其他标签也有这个...我已经删除了一些没有发生任何事情。

4 个答案:

答案 0 :(得分:28)

XHTML <foo /><foo></foo>的简写。在HTML中,语法为obscure and marked as "don't do this",因为浏览器不支持它。

如果您正在编写XHTML但是pretending it is HTML(以便不支持XHTML的浏览器(例如Internet Explorer 8)可以处理它),那么规范中定义为EMPTY的元素必须是用那种方式表示(和那些不是必须的元素)。

答案 1 :(得分:7)

在HTML的早期阶段,找到如下代码并不罕见:

<ul>
  <li>item 1
  <li>Item 2
  <li>Item 3
</ul>

这种方法的问题在于它导致HTML解析非常繁琐,因为通常很难理解意图。因此,解析HTML的开发人员必须依赖一些[通常]不可靠的假设。

为了缓解这个问题,标准委员会要求XHTML为well formed。因此,所有标签都需要同时包含开始标记和结束标记,并使用以下内容替换上述HTML:

<ul>
  <li>item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
</ul>

这适用于包含内部文本或子元素的标记,但它不适用于独立的标记(例如&lt; br&gt;标记)。为了克服这个问题,在遵守规则规定所有标签必须具有相应的结束标签的同时,标准委员会支持前进斜杠(例如,&lt; br /&gt;)。但应注意,在XHTML中,以下内容也是合法的:&lt; br&gt;&lt; / br&gt;。

答案 2 :(得分:3)

这是没有结束标记的元素的xhtml语法

答案 3 :(得分:1)

在XHTML语法中,<tag />相当于<tag></tag>