Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

关于标签的结束

  在不同的HTML版本中对标签结束的要求是不同的,HTML4时代并不要求标签结束,而XHTML就要求任何标签都要结束,到了HTML5又回到了不要求结束标签的定义上。实际上HTML5只是把一些结束标签作为可选项而已,并没有推荐省略结束标签的写法。
  下面这段代码中两个OL的效果是完全相同的。
<!DOCTYPE html>
<ol>
  <li>a</li>
  <li>b</li>
  <li>c</li>
</ol>
<ol>
  <li>a
  <li>b
  <li>c
</ol>
  后者虽然省略了结束标签,但也完全符合HTML5。人们通常更愿意使用前者,也许是收到了XHTML的影响,但无论如何,前者显然更易读。对于LI这样普通的标签,大多数人还是喜欢用完整写法的。但自结束标签呢?
<img src="#" />
<img src="#">
  这两个IMG标签的效果也是完全相同的,它们也都符合HTML5。但人们更喜欢用后者,这是为什么?为什么对这些自结束标签的待遇如此不公?也许开发者们都知道IMG是个自结束标签,所以即使它没有结束标签也已经习惯了。
  实际上HTML中有很多蛋疼的地方,比如 <img alt="alt" src="#" />
<script src="#"></script>
<input text="text" value="value" />
  为什么不允许写成下面这样的形式呢?
<img src="#">alt</img>
<script src="#" />
<input text="text">value</input>
  也许是因为一些历史原因,这些蛋疼的问题没那么容易解决。但如果以后出现个不再向下兼容的HTML版本IMG可以包含内容、SCRIPT可以自结束。
  所以我从来不把任何标签当成永远的自结束标签而省略最后的斜杠,即使是BR也写个<BR/>,我相信在未来的某个不向下兼容的HTML版本中,他们都可能允许包含内容。养成随手关门的习惯并没有坏处。
网名:
54.144.24.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^