我正在制作导航菜单,我应该使用<nav>
元素还是<ul>
元素?
如果我使用nav
我将需要使用shiv,以便它可以在浏览器中使用。
如果是这样,使用nav
优于ul
的优势是什么?
编辑:
我知道你可以将ul
加入nav
我的问题是为什么要使用nav
?
答案 0 :(得分:12)
不要与<nav>
和<ul>
混淆。它们可以一起用于导航菜单。
Nav
是HTML5标记。如果您在HTML5中创建内容,则可以使用<nav>
,因为没有限制,但并非所有浏览器都能正确呈现此内容。
<nav>
<ul>
<li><a href="default.asp">Home</a></li>
<li><a href="news.asp">News</a></li>
<li><a href="contact.asp">Contact</a></li>
<li><a href="about.asp">About</a></li>
</ul>
</nav>
Ul
创建一个无序列表。无序意味着列表中的项目不会按任何特定顺序排列。您可以在ul
内嵌套nav
元素来放置链接。
详细了解HTML代码及其工作原理here。
<ul>
<li><a href="default.asp">Home</a></li>
<li><a href="news.asp">News</a></li>
<li><a href="contact.asp">Contact</a></li>
<li><a href="about.asp">About</a></li>
</ul>
这将创建一个导航栏,您必须放置一些CSS样式才能更好地查看它。
以上两个代码都会产生相同的结果。唯一的区别是nav
告诉浏览器此元素用于导航目的。
答案 1 :(得分:4)
取决于案例,但大部分时间你都会使用这两种情况。
<nav>
<ul>
<li><a href="#">item1</a></li>
<li><a href="#">item2</a></li>
<li><a href="#">item3</a></li>
<li><a href="#">item4</a></li>
<li><a href="#">item5</a></li>
</ul>
</nav>
<!-- Or just links -->
<nav>
<a href="#">Item</a>
<a href="#">Item</a>
<a href="#">Item</a>
</nav>
两者在语义上都是正确的。
答案 2 :(得分:3)
nav
元素在语义上更具体,因此通常是更好的选择。例如,搜索引擎将理解其中的链接代表导航,而不是简单的链接列表(可以是推荐的帖子或相关项目等)。
答案 3 :(得分:3)
答案 4 :(得分:2)
nav
是一个语义html5元素,引用它指出,此代码是页面的导航。对于“普通的非语义”搜索引擎,您使用ul
或nav
时没有任何区别。他们会毫无问题地理解两者。目前使用这些语义元素对你没有任何好处。
小心,使用那些html5元素打破IE,所以你需要“注册”它们,所以IE将它们识别为可设置样式的html元素。
答案 5 :(得分:0)
如果您想使用nav
,但避免使用不支持它的浏览器的任何问题,最简单的方法是不对其应用任何样式并将其包裹在div
和相反的风格。
<nav>
<div class="nav">
<ul>
<li><a href="?">List Item Link</a></li>
<li><a href="?">List Item Link</a></li>
<li><a href="?">List Item Link</a></li>
</ul>
</div>
</nav>
答案 6 :(得分:0)
就我而言,我会使用ul
只是因为IE 6和7仍然拥有相当大的市场份额,而且我知道我不必跳过篮球来获得{{1} }} 上班。现在无论如何,它更简单。
答案 7 :(得分:0)
nav和ul元素都可用于在html5中创建菜单,
但是,您可以在菜单创建中使用nav和ul,
<nav>
<ul>
<li>item 1</li>
<li>item 2</li>
</ul>
</nav>
是否选择nav或ul
取决于你