2010-02-17 53 views
5

我见过一些人将自己的导航(<ul>标记)包裹在​​<div>之内,而<div>仅应用了边距/填充CSS属性。是否需要在div或nav标签中包装导航(ul标签)?

我们可以在没有<div>的情况下设置导航的样式,并将边距和填充放置在<ul>标记上。所以需要<ul>标签放在<div>里面,还是只是个人喜好/好处?

对于已经在某些浏览器中实现的HTML5,是否需要将用于导航的<ul>标签放在<nav>标签中?

像例如Smashing HTML5 demo page

+0

欢迎来到Stack Overflow,Dev。 – Sampson

回答

0

不,这不是必要的,但它取决于布局。 <div>提供了更多的控制器来定位文档段,所以他们可能只是为了这个目的而使用div。

2

如果您正在制作HTML5,并且您不介意在Internet Explorer中不支持HTML5中的新元素,那么您应该将导航包装到<nav>元素中。

(就像你应该换你的段落在<p>元素 - 这就是标记,通过与标签包装它描述的内容。)

至于在<div>包装您的导航列表中,你不必到,但它对于样式目的通常很有用。

4

不,不一定要将<ul>导航与外部<div>包装在一起。在我看到的大多数情况下,人们使用它仅仅是因为他们习惯于将所有东西都包装在divdivitis)中。

但是,在某些情况下,有必要围绕导航列表打包div。例如,当您想要自己应用多个背景时 - 一个在div上,另一个在ul上,受控 - 填充/保留 - 。

还可以使用额外的div来正确构建文档。

对于HTML5 <nav>标签,认为它是语义定义代码的那部分,让任何人阅读代码 - 无论是人类或机器人(例如搜索机器人) - 可以确切地知道这里面<nav>部分标记将会(或者至少应该是)导航,无论导航是通过<ul>实现还是仅仅是简单的链接,通过管道符号|分隔的简单链接。