V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Dive into HTML5
http://diveintohtml5.org/
whuhacker
V2EX  ›  HTML

HTML5 居然规定好多标签可以不闭合,简直颠覆三观

  •  
  •   whuhacker ·
    whuhacker · 2014-08-22 17:23:45 +08:00 · 13875 次点击
    这是一个创建于 3532 天前的主题,其中的信息可能已经有所发展或是发生改变。
    前几天看到讨论说百度首页没有 </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 条回复    2014-08-23 06:17:42 +08:00
    whuhacker
        1
    whuhacker  
    OP
       2014-08-22 17:29:59 +08:00
    HTML 节点都不支持 markdown 吗? @livid
    582033
        2
    582033  
       2014-08-22 17:35:39 +08:00
    ```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>
    ```
    582033
        3
    582033  
       2014-08-22 17:36:15 +08:00
    <ul></ul>
    #是不是格式不对?
    kfll
        4
    kfll  
       2014-08-22 17:36:59 +08:00


    颠覆你的第四第五观了么,
    victor
        5
    victor  
       2014-08-22 17:38:46 +08:00
    不闭合更好
    kokdemo
        6
    kokdemo  
       2014-08-22 17:40:45 +08:00
    其实不闭合看起来更语义一些……

    当然我指的是那种排版上的li,td,tr这种

    涉及到嵌套上的必须得闭合
    ChiangDi
        7
    ChiangDi  
       2014-08-22 18:16:26 +08:00
    原来谷歌也推荐省略,简直爽歪歪。
    canesten
        8
    canesten  
       2014-08-22 18:17:36 +08:00
    Lisp党可能看到这里已经摔门而去
    kmvan
        9
    kmvan  
       2014-08-22 18:20:04 +08:00 via Android
    简直不可理喻,这……
    cherrychocolate
        10
    cherrychocolate  
       2014-08-22 18:21:18 +08:00 via iPhone
    看个人习惯了
    ChiangDi
        11
    ChiangDi  
       2014-08-22 18:22:41 +08:00
    想了一下觉得不是太好。
    一些是可以不用闭合的,一些有必须要闭合,这样还得费事去记哪些可以不闭合。
    akfish
        12
    akfish  
       2014-08-22 18:24:20 +08:00
    因为HTML5标准明确表明不是基于SGML的了,当然可以不闭合。

    省略了其实比较好,不然忘记闭合一个标签,整个页面的排版都被艹了。
    sandtears
        13
    sandtears  
       2014-08-22 18:28:07 +08:00
    作为一个非专业人士,我觉得还是统一点好,对于闭合或者不闭合都行的,我一律选择闭合。
    不然还得记哪些不需要闭合,不如全都闭合,反正不会出错。
    wsph123
        14
    wsph123  
       2014-08-22 19:03:51 +08:00
    不闭合没问题就不闭合嘛
    imn1
        15
    imn1  
       2014-08-22 19:30:39 +08:00
    记忆中这不是 html5 的规定,而是当初提出 html5 时,各大浏览器商的共识是浏览器可以容不规范的html,意思就是错误的html也能显示出来

    回顾 html5 的诞生史,这点是浏览器商抵制 xhtml,绕开 w3c 自行商议 html5 标准的重要原因之一
    其实 html4 很多标签不闭合也没问题的,只要不歧义就不影响浏览器解析,我以前见没有</html>的多了
    但 xhtml 是继承 xml 标准的,错一个字母都造成整个网页不能显示,这是各大浏览器商强烈反对的理由,认为标准太严格造成网站开发成本高,用户体验差

    html5 是 google 带头主导制定的,所以 google 浏览器本身就做了很多兼容工作
    jsonline
        16
    jsonline  
       2014-08-22 19:53:25 +08:00
    不闭合多好。
    g0thic
        17
    g0thic  
       2014-08-22 20:08:15 +08:00
    html5 是向下兼容的
    luikore
        18
    luikore  
       2014-08-22 21:08:54 +08:00
    不闭合的好, 给低级爬虫加点难度
    Sivan
        19
    Sivan  
       2014-08-22 21:11:45 +08:00
    html 一直就可以,是 xhtml 才规定必须闭合的。
    Tonni
        20
    Tonni  
       2014-08-22 23:33:12 +08:00
    比较反感一些现代浏览器会自动脑部没有闭合的标签,这个问题在排查问题时非常难以察觉
    Tonni
        21
    Tonni  
       2014-08-22 23:33:48 +08:00
    HTML可以用JADE预编译器,层级结构做的很清晰
    jakwings
        22
    jakwings  
       2014-08-22 23:56:35 +08:00
    玩死普通爬虫。不过会不会把代码自动排版也玩死了(例如未定义 tag),干脆顺便放弃代码高亮。

    反正我是没兴趣背那么多开闭规则,一会开一会不开,头都晕。
    keepzero
        23
    keepzero  
       2014-08-23 00:36:18 +08:00
    所以 html5 不叫做 xhtml2.0 之类的
    wwqgtxx
        24
    wwqgtxx  
       2014-08-23 06:17:42 +08:00 via Android
    不闭合可以节约不少kb的流量
    虽然表面上看不出来,但对于google这种大网站,就算有gzip,那些个闭合标签也会大大增加谷歌服务器的网络带宽。而且服务器是按照流量计费的,能省就省呗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3658 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 04:27 · PVG 12:27 · LAX 21:27 · JFK 00:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.