This topic created in 4289 days ago, the information mentioned may be changed or developed.
前几天看到讨论说百度首页没有 </html> 结束标签,还觉得挺奇葩的。今天看到 [Google HTML/CSS 编码规范](http://google-styleguide.googlecode.com/svn/trunk/htmlcssguide.xml?showOne=Optional_Tags#Optional_Tags) 里面有提到,才发现原来 HTML5 的好多标签已经可以不用闭合了。。。
```html
<ul>
<li>Moe
<li>Larry
<li>Curly
</ul>
```
```html
<table>
<thead>
<tr>
<th scope="col">Income
<th scope="col">Taxes
<tbody>
<tr>
<td>$ 5.00
<td>$ 4.50
</table>
```
上面都是正确的写法,强迫症患者颠覆三观,节操尽毁……
24 replies 2014-08-23 06:17:42 +08:00  | | 2 582033 Aug 22, 2014 ```html <ul> <li>Moe <li>Larry <li>Curly </ul> ```
```html <table> <thead> <tr> <th scope="col">Income <th scope="col">Taxes <tbody> <tr> <td>$ 5.00 <td>$ 4.50 </table> ``` |
 | | 3 582033 Aug 22, 2014 <ul></ul> #是不是格式不对? |
 | | 4 kfll Aug 22, 2014 颠覆你的第四第五观了么, |
 | | 6 kokdemo Aug 22, 2014 其实不闭合看起来更语义一些……
当然我指的是那种排版上的li,td,tr这种
涉及到嵌套上的必须得闭合 |
 | | 7 ChiangDi Aug 22, 2014 原来谷歌也推荐省略,简直爽歪歪。 |
 | | 8 canesten Aug 22, 2014 Lisp党可能看到这里已经摔门而去 |
 | | 9 kmvan Aug 22, 2014 via Android 简直不可理喻,这…… |
 | | 11 ChiangDi Aug 22, 2014 想了一下觉得不是太好。 一些是可以不用闭合的,一些有必须要闭合,这样还得费事去记哪些可以不闭合。 |
 | | 12 akfish Aug 22, 2014 因为HTML5标准明确表明不是基于SGML的了,当然可以不闭合。
省略了其实比较好,不然忘记闭合一个标签,整个页面的排版都被艹了。 |
 | | 13 sandtears Aug 22, 2014 作为一个非专业人士,我觉得还是统一点好,对于闭合或者不闭合都行的,我一律选择闭合。 不然还得记哪些不需要闭合,不如全都闭合,反正不会出错。 |
 | | 14 wsph123 Aug 22, 2014 不闭合没问题就不闭合嘛 |
 | | 15 imn1 Aug 22, 2014 记忆中这不是 html5 的规定,而是当初提出 html5 时,各大浏览器商的共识是浏览器可以容不规范的html,意思就是错误的html也能显示出来
回顾 html5 的诞生史,这点是浏览器商抵制 xhtml,绕开 w3c 自行商议 html5 标准的重要原因之一 其实 html4 很多标签不闭合也没问题的,只要不歧义就不影响浏览器解析,我以前见没有</html>的多了 但 xhtml 是继承 xml 标准的,错一个字母都造成整个网页不能显示,这是各大浏览器商强烈反对的理由,认为标准太严格造成网站开发成本高,用户体验差
html5 是 google 带头主导制定的,所以 google 浏览器本身就做了很多兼容工作 |
 | | 17 g0thic Aug 22, 2014 html5 是向下兼容的 |
 | | 18 luikore Aug 22, 2014 不闭合的好, 给低级爬虫加点难度 |
 | | 19 Sivan Aug 22, 2014 html 一直就可以,是 xhtml 才规定必须闭合的。 |
 | | 20 Tonni Aug 22, 2014 比较反感一些现代浏览器会自动脑部没有闭合的标签,这个问题在排查问题时非常难以察觉 |
 | | 21 Tonni Aug 22, 2014 HTML可以用JADE预编译器,层级结构做的很清晰 |
 | | 22 jakwings Aug 22, 2014 玩死普通爬虫。不过会不会把代码自动排版也玩死了(例如未定义tag),干脆顺便放弃代码高亮。
反正我是没兴趣背那么多开闭规则,一会开一会不开,头都晕。 |
 | | 23 keepzero Aug 23, 2014 所以 html5 不叫做 xhtml2.0 之类的 |
 | | 24 wwqgtxx Aug 23, 2014 via Android 不闭合可以节约不少kb的流量 虽然表面上看不出来,但对于google这种大网站,就算有gzip,那些个闭合标签也会大大增加谷歌服务器的网络带宽。而且服务器是按照流量计费的,能省就省呗 |