HTML 5 中哪些元素的标签是可以省略的

2017-03-09  本文已影响0人  七里之境

我们知道,在HTML语言中,HTML元素是HTML文档的基本组成单元。在HTML语法中,大多数元素包含一个开始标签、一个结束标签,以及标签中的内容,类似于:<xxx>内容</xxx>
但是在HTML 5中,有一些元素的标签是可以省略的,下面本文就对这些元素做一个大致的介绍。

  1. <html>元素
    如果<html>元素中的第一个内容不是注释,则可以省略起始标签。 如果<html>元素后面没有紧接一个注释,则可以省略结束标签。

  2. <head>元素
    如果<head>元素为空,或者<head>元素中的第一个内容是一个HTML元素,则可以省略起始标签。 如果<head>元素后不紧跟空格字符或注释,则可以省略结束标签。

  3. <base>元素
    没有结束标签。

  4. <link>元素
    没有结束标签。

  5. <meta>元素
    没有结束标签。

  6. <body>元素
    如果<body>元素为空,或者<body>元素中第一个内容不是空格或注释,则起始标签可以省略,除非<body>元素中第一个内容是一个<meta><link><script><style>或者<template>元素。如果<body>元素后面不是紧跟一个注释,则结束标签可以省略。

  7. <p>元素
    如果一个<p>元素后面紧跟一个<address><article><aside><blockquote><details><div><dl><fieldset><figcaption><figure><footer><form><h1><h2><h3><h4><h5><h6><header><hr><main><menu><nav><ol><p><pre><section><table><ul>元素,或者在父元素中没有更多内容,且该父元素不是一个<a><audio><del><ins><map><nonscript><video>元素,则结束标签可以省略。

  8. <hr>元素
    没有结束标签。

  9. <li>元素
    如果一个<li>元素之后紧跟另一个<li>元素,或在父元素中没有其他更多内容,则结束标签可以省略。

  10. <dt>元素
    如果一个<dt>元素后面紧跟另一个<dt>元素或<dd>元素,则结束标签可以省略。

  11. <dd>元素
    如果一个<dd>元素后面紧跟另一个<dd>元素或<dt>元素,或者父元素中没有更多其他内容,则结束标签可以省略。

  12. <rb>元素
    如果一个<rb>元素后面紧跟一个<rb><rt><rtc><rp>元素,或者父元素中没有更多其他内容,则结束标签可以省略。

  13. <rt>元素
    如果一个<rt>元素后面紧跟一个<rb><rt><rtc>或<rp>元素,或者父元素中没有更多其他内容,则结束标签可以省略。

  14. <rtc>元素
    如果一个<rtc>元素后面紧跟一个<rb><rtc>元素,或者父元素中没有更多其他内容,则结束标签可以省略。

  15. <rp>元素The rp element
    如果一个<rp>元素后面紧跟一个<rb><rt><rtc><rp>元素,或者父元素中没有更多其他内容,则结束标签可以省略。

  16. <br>元素
    没有结束标签。

  17. <wbr>元素
    没有结束标签。

  18. <picture>元素一起使用的<source>元素。
    没有结束标签。

  19. <img>元素
    没有结束标签。

  20. <embed>元素
    没有结束标签。

  21. <param>元素
    没有结束标签。

  22. <source>元素
    没有结束标签。

  23. <track>元素
    没有结束标签。

  24. <area>元素
    没有结束标签。

  25. <colgroup>元素
    如果一个<colgroup>元素之后不是紧跟一个空格或注释,则结束标签可以省略。

  26. <col>元素
    没有结束标签。

  27. <tbody>元素
    如果一个<tbody>元素中的第一个内容是一个<tr>元素,且这个<tbody>元素之后不是紧跟在一个已省略结束标签的<tbody><thead><tfoot>元素之后,则<tbody>元素的起始标签可以省略(如果这个<tbody>元素是空的,则不可以省略)。如果一个<tbody>元素之后紧跟一个<tbody>元素或者<tfoot>元素,且父元素中没有更多其他元素,则结束标签可以省略。

  28. <thead>元素
    如果一个<thead>元素之后紧跟一个<tbody><tfoot>元素,则结束标签可以省略。

  29. <tfoot>元素
    如果一个<tfoot>元素之后紧跟一个<tbody>元素,或者父元素中没有更多其他元素,则结束标签可以省略。

  30. <tr>元素
    如果一个<tr>元素之后紧跟另一个<tr>元素,或者父元素中没有更多其他元素,则结束标签可以省略。

  31. <td>元素
    如果一个<td>元素之后紧跟另一个 <td><th>元素,或者父元素中没有更多其他元素,则结束标签可以省略。

  32. <th>元素
    如果一个<th>元素之后紧跟另一个 <td><th>元素,或者父元素中没有更多其他元素,则结束标签可以省略。

  33. <colgroup>元素
    如果一个<colgroup>元素之后没有紧跟一个空格或注释,则结束标签可以省略。

  34. <col>元素
    没有结束标签。

  35. <input>元素
    没有结束标签。

  36. <optgroup>元素
    如果一个<optgroup>元素之后紧跟另一个<optgroup>元素,或在父元素中没有更多内容,则结束标签可以省略。

  37. <option>元素
    如果一个<option>元素之后紧跟另一个<option>元素,或者紧跟一个<optgroup>元素,或者在父元素中没有更多的内容,则结束标签可以省略。

  38. <keygen>元素
    没有结束标签。

  39. <menuitem>元素
    没有结束标签。

以上介绍的这39种元素,或是无条件省略结束标签,或是满足某一条件下可省略开始或结束标签,其省略的原则皆为不会造成文档的歧义。在实际应用中,需要多加练习才能熟练掌握,对于入门者,在无法确定某个元素的标签是否可以省略的情况下,还是建议写全,以免一旦出现错误,在标签众多的情况下排查起来比较困难。

上一篇下一篇

猜你喜欢

热点阅读