2011-07-17 35 views
4

我开始学习HTML/CSS,并且在我的学习过程中,我已经看到了语义学的概念强调。大多数时候我明白我应该使用什么,一切正常。但也有很多时候,感觉就像有简单的东西太多太多的标签,例如:我是否需要为我的网站的主标题提供所有这些HTML5标记?

假设我有一个主标题上我的网站导航的一些链接,语义我得到这个:

<section id="masterHeader"> 
    <header> 
     <nav> 
      <ul> 
       <li><a href="#"> link </a></li> 
      </ul> 
     </nav> 
    </header> 
</section> 

这是太多了,还是应该这样做,因为它确实有意义?它看起来像很多不需要的标签。

+0

为什么你将头部封装到一个节中?我认为标题只是一个专门的部分,应该以这种方式使用。除此之外,您的标记对我来说看起来很好。 – Jay

+0

http://dev.w3.org/html5/html-author/#the-header-element使它听起来像它应该在一个部分,或者我应该使用一个部分作为容器,然后使用容器中的头部? – valon

回答

3

在标签标签中使用标题标签看起来没有必要。相反,它应该看起来像这样:

<header id="masterHeader"> 
    <nav> 
     <ul> 
      <li><a href="#"></a></li> 
     </ul> 
    <nav> 
</header> 
+0

焦虑不安的问题:如果我希望在身体内的所有内容周围都有一个容器(包装器),应该使用什么?我应该使用分区还是分区? – valon

+0

w3c使用以下内容定义它:“

标签定义文档中的各个部分,如章节,页眉,页脚或文档的任何其他部分。” 问题是,如果我们在这种情况下已经有了页眉和页脚标记,那么如果段标记不太可能用于保存它们。 你可以参考这篇文章 - http:// www。impressivewebs.com/html5-section/ - 关于如何使用章节标记的一些想法。 话虽如此,我会建议使用div包装代替。 希望有帮助=) – vynx

+0

编辑:读你的编辑,非常感谢,现在更有意义! – valon

5

语义设计一个页面的目的并不是因为它作为一个设计者阅读(虽然这是一个很好的好处)或者因为它更轻量级(它往往不是)。相反,语义设计的目的是增加代码的含义,使得ID和类无法实现div。一个搜索引擎抓取您的网站可以在语义标记时表面上理解您的代码。

问题是,IE8和更低本身不支持这些语义元素,因此需要js shiv。但是,然后你的布局在IE8中断,如果他们禁用了JS,则会降低它。在考虑使用HTML5元素之前,这是一个折衷,你必须认真权衡,因为你的布局将在IE8-6中以no-js破解。另外,我认为section元素在你的使用中在语义上不正确(但我可能是错的,我必须检查w3c规范)。但那不是在这里也不在那里,而且大多只是挑剔。

+0

标题不是页面的一部分吗?这就是为什么我在那里有部分。 – valon

+0

http://www.w3.org/wiki/HTML/Elements/section:“section元素不是一个通用的容器元素,section元素只有在内容将在文档的大纲中明确列出时才适用。”在你的情况下,你只是使用section元素作为页面标题部分的容器。但是,如果你像这样剖析你的页面,那意味着页脚和容器是分区,然后容器内的分区也是分区。相反,部分应该只用于将主题内容分组,如书的章节,或介绍,outro和正文文本 – Moses

+0

@Moses - 通常,它拼写为“shim”,但我们经常*希望*使用shiv IE :-) –

相关问题