【问题标题】:<nav> tag, supported by all browsers? [closed]<nav> 标签,所有浏览器都支持吗? [关闭]
【发布时间】:2014-02-25 03:55:45
【问题描述】:

我找到了this tutorial, that uses a &lt;nav&gt; tag。该演示甚至在 IE7 上运行良好。 然而,w3cshools mention that this tag is NOT supported on IE8 and below

那么,事实是什么,我应该保留这个 nav 标签,还是将其更改为 div? (它会毁掉什么吗?)

【问题讨论】:

  • 首先,不要相信 w3schools。
  • 检查 HTML5 Semantic Compatibility 确实,从未读过 w3schools。简单来说,&lt;nav&gt; 标签是在 IE7-8 开发或标准化之后引入的,旧版本的 IE 也不会尝试更新到新的标准。
  • @MackieeE 这是一个很好的答案,去吧:)
  • +1 enapupe w3fools.com

标签: css html nav navigationbar


【解决方案1】:

您需要包含 HTML5 shiv script 以允许在旧 IE 浏览器中设置 HTML5 元素的样式:http://code.google.com/p/html5shiv/

要使用,请在 CSS 上方的元素中包含以下脚本:

<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

见->html5 new elements (header, nav, footer, ..) not working in IE

另一种选择是使用Modernizr,它包括 HTML5 Shiv 并提供 HTML5 特征检测。

【讨论】:

  • 我提到的演示如何在带有 IE7 控制台的 IE10 上运行?真的不是 100% IE7 模拟器吗?
  • 你应该包含 HTML5 shiv 脚本,你没问题。不要太相信 W3Schools...
  • @rockyraw 我相信由于 IE10 位于不同的渲染引擎上,我不会信任仿真,尽管它说它可以;但根据我的经验,坐在装有 IE7 的 WinXP 机器上的感觉和行为与 IE10 不同(请注意,这是一个固执己见的答案,没有事实)
  • @TheMiniJohn,如果可以简单地将&lt;nav&gt; 更改为&lt;div&gt;,为什么还要麻烦自己包含额外的脚本?
  • HTML 5 的新元素之一是
【解决方案2】:

当然你可以用 div 代替,但使用 nav 的目的是摆脱一个 div。

不要浪费时间尝试让 HTML5 在旧浏览器中运行。

【讨论】:

  • 这确实更有意义,如果可以简单地将&lt;nav&gt; 更改为&lt;div&gt;,为什么还要麻烦自己包含额外的脚本,谁能解释一下?
猜你喜欢
  • 2013-02-17
  • 2011-04-20
  • 1970-01-01
  • 2011-09-15
  • 2011-03-02
  • 1970-01-01
  • 2021-08-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多