zoukankan      html  css  js  c++  java
  • HTML 5的革新:结构之美

     HTML 5是什么,无须我在这里赘述了。对于HTML 5的革新,按我的理解,可以总结为语义明确的标签体系、化繁为简的富媒体支持、神奇的本地数据存储技术、不需要插件的富动画(canvas)、强大的API支持。总之,HTML 5让人机交互,人网交互变得更加舒适,贴合用户。以往对富媒体应用与本存储的支持乏力也不再是浏览器的切肤之痛。将Web从内容平台推向标准化的应用平台,并一统各在平台阵营的标准,才是HTML 5革命的初衷。
    本文,我就抛砖引玉,阐述HTML 5的革新之一:语义更明确简洁的结构。
        从”头”说起
    一个标准的XHTML头部代码应该是这样:

    1. <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”> <html xmlns=”http://www.w3.org/1999/xhtml”> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″ /> </head>
    复制代码


        你能记住吗?你会去死记硬背吗?当然不会!我们只需要机械的复制粘贴即可。
        再看看一个标准的HTML 5头部是如何的:

    1. <!doctype html> <meta charset=gb2312>
    复制代码


        孰繁孰简,就不用我说了。是的,HTML 5的头部可以如此简单,可以轻易的记住!并且,可以忽略大小写,引号以及最后一个尖括号前的反斜线。
        为什么可以如此松散?其实,如果把XHTML当成text/html发送,浏览器一样可以很好的解析,浏览器并不在乎代码的语法。所以,HTML 5是形而上的,它可能会破坏原有的一些标准,但仍可在浏览器中很好的表现。
    当然,为了团队协助与后续维护的方便,我们还是应该统一一种你喜欢的风格的写法,比如:

    1. <!doctype html> 
    2. <html> <head>
    3. <meta charset=”gb2312″ /> …
    4. </head> <body> … 
    5. </body> </html>
    复制代码

       另外,HTML 5虽然目前并不为所有浏览器所支持,但这个能省去100多字节(对于日PV百万级以上的站点,能省下不少的流量哦)的头部已可以完美的兼容了。如果你对浏览器解析模式有研究的话,你应该知道,页面在没有定义doctype的情况下会触发怪异模式,而只要定义了浏览器就可以在标准模式下解析页面,而不需要指定某个类型的DTD。
        新的语义化标签体系
    语义化编码是一个合格前端Developer必备的技能,但随着网页的日渐丰富化,仅仅用原有的xhtml标签去语义化显然已经力不从心。上帝说:”要有光!”便有了光。于是,HTML 5提供了一系列新的标签及相应属性,以反应现代网站典型语义。实践出真理。还是写一个例子吧:

    1. <div id=”header”>
    2. <div class=”hgroup”>
    3. <h1>网站标题</h1> 
    4. <h1>网站副标题</h1> 
    5. </div> 
    6. <div id=”nav”>
    7. <ul> 
    8. <li>HTML 5</li> 
    9. <li>CSS</li> 
    10. <li>JavaScript</li>
    11. </ul> 
    12. </div> 
    13. </div>
    14. <!–//header end–>
    15. <div id=”left”>
    16. <div class=”article”>
    17. <p>这是一篇讲述HTML 5新结构标签的文章。</p>
    18. </div> 
    19. <div class=”article”>
    20. <p>这还是一篇讲述HTML 5新结构标签的文章。</p> 
    21. </div>
    22. </div> 
    23. <!–//left end–> 
    24. <div id=”aside”> <h1>作者简介</h1> <p>Mr.Think,专注Web前端技术的凡夫俗子。</p></div>
    25. <!–//side end–> <div id=”footer”> 页面的底部 </div>
    26. <!–//footer end–>
    复制代码


    上面是一个简单的博客页面部分HTML,由头部、文章展示区、右侧栏、底部组成。编码整洁,也符合XHTML的语义化,即便是在HTML 5中也可以很好的表现。但是对浏览器来说,这就是一段没有区分开权重的代码,而不是一个让机器也能读懂语义的标签来定义相应的区块。比如,标准浏览器(比如Firefox、Chrome甚至新版的IE9)都有一个快捷键可以带引客户直接跳转到页面的导航,但问题是所有的区块都是用DIV定义,并且DIV的ID值是同开发者定的,所以,浏览器并不知道哪个应该是导航链接所在区块。HTML 5新标签的出现,正好弥补了这一缺憾。那么,上面的代码,换成HTML 5就可以这样写:

    1. <header> 
    2. <hgroup> 
    3. <h1>网站标题</h1> 
    4. <h1>网站副标题</h1>
    5. </hgroup>
    6. <nav> <ul>
    7. <li>HTML 5</li>
    8. <li>CSS</li> 
    9. <li>JavaScript</li> 
    10. </ul> </nav> 
    11. </header>
    12. <div id=”left”> 
    13. <article> <p>这是一篇讲述HTML 5新结构标签的文章。</p> </article>
    14. <article> <p>这还是一篇讲述HTML 5新结构标签的文章。</p> </article>
    15. </div>
    16. <aside> <h1>作者简介</h1> <p>Mr.Think,专注Web前端技术的凡夫俗子。</p> </aside>
    17. <footer> 网页底部 </footer>
    复制代码


    原来,HTML的页面结构可以如此之美,不用注释也能一目了然。对于浏览器,找到对应的区块也不再会茫然无措。

  • 相关阅读:
    BUPT复试专题—最长连续等差子数列(2014软院)
    BUPT复试专题—奇偶求和(2014软件)
    BUPT复试专题—网络传输(2014网研)
    Hopscotch(POJ 3050 DFS)
    Backward Digit Sums(POJ 3187)
    Smallest Difference(POJ 2718)
    Meteor Shower(POJ 3669)
    Red and Black(poj 1979 bfs)
    测试
    Equations(hdu 1496 二分查找+各种剪枝)
  • 原文地址:https://www.cnblogs.com/liweitao/p/3850958.html
Copyright © 2011-2022 走看看