常见的生活误区,Fab应用最常见的误区

廖清婉

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

不要把Section当成简单的容器来定义样式我们经常看到的一个错误,就是武断的将div标签用Section标签来替代,特别是将作为包围容器的div用来替换。

在XHTML或者HTML4中,我们将会看到类似下面的代码:XML/HTML Code复制内容到剪贴板

  1. !HTML4-stylecode
  2. divid=wrapper
  3. divid=header
  4. h1Mysuperduperpage/h1
  5. !Headercontent
  6. /div
  7. divid=main
  8. !Pagecontent
  9. /div
  10. divid=secondary
  11. !Secondarycontent
  12. /div
  13. divid=footer
  14. !Footercontent
  15. /div
  16. /div
现在我看到了下面的代码样子:XML/HTML Code复制内容到剪贴板
  1. !Dontcopythiscode!Itswrong!
  2. sectionid=wrapper
  3. header
  4. h1Mysuperduperpage/h1
  5. !Headercontent
  6. /header
  7. sectionid=main
  8. !Pagecontent
  9. /section
  10. sectionid=secondary
  11. !Secondarycontent
  12. /section
  13. footer
  14. !Footercontent
  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. h1Mysuperduperpage/h1
  4. !Headercontent
  5. /header
  6. divrole=main
  7. !Pagecontent
  8. /div
  9. asiderole=complementary
  10. !Secondarycontent
  11. /aside
  12. footer
  13. !Footercontent
  14. /footer
  15. /body
如果你还是无法确定哪一个元素更适合使用,我建议你去查看HTML5 sectioning content element flowchart来让你继续前行。