同一页锚链接到不在IE8中工作的部分ID

时间:2013-03-15 23:19:29

标签: html5 internet-explorer-8

我有一个带有导航的单页HTML5网站,该网站应该将用户发送到该部分。在除IE8之外的所有浏览器中都能很好地工作,IE8没有做任何事情。我所拥有的Dummied版本:

<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添加不间断空格或一些文本的一些解决方案,但这并不起作用。难住了。

2 个答案:

答案 0 :(得分:1)

首先,Internet Explorer 8不支持HTML5,因此它不理解节标记。

第二点是,通常name-attribute用于在站点上创建锚点。

你可以尝试在你的节标签中添加名字属性,但我认为IE也不会理解这一点,所以你必须使用div或者使用一些javascript来解决这个问题。

答案 1 :(得分:1)

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

<section name="work">

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

为了解决这个问题,你需要像html5shiv一样使用hack。 (或使用内置html5shiv的Modernizr

html5shiv和Modernizr都是基于Javascript的。如果您因任何原因不想或不能使用它们,那么您将不得不切换到使用IE8支持的HTML标记,例如<div>

希望有所帮助。