【问题标题】:Is it necessary to wrap navigation (ul tag) in div or nav tag?是否有必要在 div 或 nav 标签中包装导航(ul 标签)?
【发布时间】:2010-02-17 07:24:00
【问题描述】:

我见过一些人将他们的导航(<ul> 标签)包裹在 <div> 中,而 <div> 只是应用了 margin/padding CSS 属性。

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

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

例如Smashing HTML5 demo page

【问题讨论】:

  • 欢迎来到开发者 Stack Overflow。

标签: css html navigation


【解决方案1】:

不,当然没有必要用外部<div> 包裹<ul> 导航。在我看到的大多数情况下,人们使用它只是因为他们习惯于将所有内容都包装在 div (divitis) 中。

但是,在某些情况下,确实有必要将div 包裹在导航列表周围。例如,当您想应用多个背景时 - 一个在 div 上,另一个在 ul 上,受控 - 填充/边距 - 单独应用。

额外的 div 也可用于正确构建文档。

至于 html5 <nav> 标签,将其视为在语义上定义代码的那部分,以便任何阅读代码的人——无论是人类还是机器人(例如搜索机器人)——都可以准确地知道里面的部分<nav> 标记将是(或至少应该是)导航,无论导航是通过 <ul> 还是只是简单的简单链接,由管道符号 | 分隔。

【讨论】:

    【解决方案2】:

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

    (就像您应该将段落包装在 <p> 元素中一样——这就是标记,通过用标签包装内容来描述内容。)

    至于将导航列表包含在 <div> 中,您不必这样做,但它通常对样式很有用。

    【讨论】:

      【解决方案3】:

      不,这不是必需的,但这取决于布局。 <div> 为文档段的定位提供了更多控制器,因此他们可能只是为此目的使用 div。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-11-28
        • 1970-01-01
        • 2014-07-25
        • 2011-04-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多