盘点HTML5标签使用的常见误区

 现在HTML5还处在草案阶段,有些新的标签元素的解释也是经常有变化,甚至标签加入 移出也很频繁(比如 hgroup),同时现有的大的门户网站在使用HTML5方面也没有很好的范例可以参考,让大家的学习过程更摸索.本文将给大家分享html5构建页面的小错误和不好的实践方法,让我们在以后的工作中避免这些错误。

不要把<Section>当成简单的容器来定义样式

我们经常看到的一个错误,就是武断的将<div>标签用<Section>标签来替代,特别是将作为包围容器的<div>用来替换。在XHTML或者HTML4中,我们将会看到类似下面的代码:

XML/HTML Code复制内容到剪贴板
  1. <!– HTML 4-style code –>  
  2.  <div id=”wrapper”>  
  3.    <div id=”header”>  
  4.      <h1>My super duper page</h1>  
  5.      <!– Header content –>  
  6.    </div>  
  7.    <div id=”main”>  
  8.      <!– Page content –>  
  9.    </div>  
  10.    <div id=”secondary”>  
  11.      <!– Secondary content –>  
  12.    </div>  
  13.    <div id=”footer”>  
  14.      <!– Footer content –>  
  15.    </div>  
  16.  </div>  

现在我看到了下面的代码样子:

XML/HTML Code复制内容到剪贴板
  1. <!– Don’t copy this code! It’s wrong! –>  
  2.  <section id=”wrapper”>  
  3.    <header>  
  4.      <h1>My super duper page</h1>  
  5.      <!– Header content –>  
  6.    </header>  
  7.    <section id=”main”>  
  8.      <!– Page content –>  
  9.    </section>  
  10.    <section id=”secondary”>  
  11.      <!– Secondary content –>  
  12.    </section>  
  13.    <footer>  
  14.      <!– Footer content –>  
  15.    </footer>  
  16.  </section>  

直观的看,上面的例子是错误的:<Section>并不是一个容器.<Section>元素是有语意的区段,帮助构建文档大 纲。它应该包含标题。如果你要寻找一个可以包含页面的元素(不论是 HTML 或者 XHTML ),通常的做法是直接对<body>标签定义样式就像Kroc Camen描述的那样子,如果你还需要额外的元素来定义样式,使用<div>,就像Dr Mike 阐述的那样, div并没有灭亡,如果这里没有其它更合适的,div可能是你最合适的选择。记住这点,这里我们重新修正了上面的例子,通过使用两个新角色。(你是否需要额外的<div>取决于你的设计。)

XML/HTML Code复制内容到剪贴板
  1. <body>  
  2.    <header>  
  3.      <h1>My super duper page</h1>  
  4.      <!– Header content –>  
  5.    </header>  
  6.    <div role=”main”>  
  7.      <!– Page content –>  
  8.    </div>  
  9.    <aside role=”complementary”>  
  10.      <!– Secondary content –>  
  11.    </aside>  
  12.    <footer>  
  13.      <!– Footer content –>  
  14.    </footer>  
  15.  </body>  

如果你还是无法确定哪一个元素更适合使用,我建议你去查看HTML5 sectioning content element flowchart来让你继续前行。

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Js正则表达式过滤特殊字符、表情的实例代码: let ret = "12312ffds#¥@¥#%^***(()))*)).`@%@¥@¥", val = this.customDeviceName;//特殊字符过滤let pattern = new RegExp("[`~!@#$^*()=|{}':;',\\[\\]./?~!@#¥……*()——|{}【】‘;:”“'。,、?]
1、htmlshiv.js Remy开发的HTML5shiv工具能利用JavaScript在老式IE里创建main,header,footer等HTML5元素。也就是说使用JavaScript能创建这些本来不存在的HTML5新元素。这是什么原理?你可能花几天也想不明白,但谁在意呢!这个脚本几乎是所有正式网站必用
HTML5 火的正热,最近有个想法也是要用到HTML的相关功能,所以也要好好学习一把。 好好看了一下Canvas的功能,感觉HTML5在客户端交互的功能性越来越强了,今天看了一下Canvas绘图,下边是几个实例,记下以备后用。 1、使用Canvas绘制直线: !doctype html ht
响应式布局,理想状态是,对PC/移动各种终端进行响应。媒体查询的支持程度是IE9+以及其他现代的浏览器,但是IE8在市场当中仍然占据了比较大量的市场份额,使我们不得不进行IE低端浏览器的考虑。那么如何在IE6~8浏览器中兼容响应式布局呢?这里我们需要借助这
近日,微软宣布开源Chakra的核心组件。Chakra是微软新一代浏览器 Microsoft Edge的JavaScript引擎。相关代码将于2016年1月上传到微软的GitHub账号,项目名称为 ChakraCore,遵循MIT许可协议。 ...,HTML5中国,中国最大的HTML5中文门户。
这篇文章报道的不是“新闻”,因为W3C早已开始着手CSS变量方面的工作。至于Google,则要追溯到11月初,当时该公司主要开发人员之一的Addy Osmani宣布了率先在Chrome Canary中引入对CSS变量的支持。 ...,HTML5中国,中国最大的HTML5中文门户。