2

我有一个带有导航的单页 HTML5 网站,应该将用户发送到该部分。在除 IE8 之外的所有浏览器中都运行良好,IE8 什么都不做。我所拥有的虚拟版本:

<a href="#about">About</a>
<a href="#work">Work</a>
<a href="#services">Services</a>
<a href="#process">Process</a>
<a href="#contact">Contact</a>

<section id="about">
...
</section>

<section id="work">
...
</section>

<section id="services">
...
</section>

<section id="process">
...
</section>

<section id="contact">
...
</section>

没有运气进行了搜索。看到了一些关于向目标部分/div 添加不间断空格或一些文本的解决方案,但这不起作用。难住了。

4

2 回答 2

1

首先,使用name而不是id(或者可能name以及id,如果您还需要将 id 用于其他用途)。

<section name="work">

其次,IE8 及更早版本不支持新的 HTML5 元素,例如<section>.

为了解决这个问题,您需要使用html5shiv之类的 hack 。(或使用内置 html5shiv 的 Modernizr)

html5shiv 和 Modernizr 都是基于 Javascript 的。如果您出于某种原因不想或不能使用它们,那么您必须切换到使用 IE8 支持的 HTML 标签,例如<div>.

希望有帮助。

于 2013-03-15T23:32:24.730 回答
1

起初,Internet Explorer 8 不支持 HTML5,因此无法理解 section 标签。

第二点是,通常名称属性用于在站点上创建锚点。

您可以尝试将名称属性添加到您的部分标签,但我认为 IE 也不会理解这一点,因此您必须使用 div 或使用一些 javascript 解决方法。

于 2013-03-15T23:28:29.090 回答