-1

我的导航菜单在IE 6,7或8中不起作用。我很好,它不能在IE 6中工作,但不幸的是它需要在IE 7中工作和8.我正在使用Ubuntu,所以我一直在使用http://netrenderer.com进行测试。导航div不是正确的,li元素不是内联显示的。为什么是这样? Here is the website我的导航菜单在IE上不起作用<9

nav ul { 
    margin: 0; 
    padding: 0; 
} 

nav a { 
    height: 20px; 
    width: 27%; 
    margin: 0 1.7%; 
    margin-bottom: 0; 
    padding: 25px 2%; 

    text-align: center; 
    text-decoration: none; 
    font-weight: thin; 

    color: #555; 

    float: left; 
    display: inline-block; 
} 

nav li:first-child a { 
    margin-left: 0; 
} 

nav li:last-child a { 
    margin-right: 0; 
} 


/* ======================== 
    INTERMEDIATE: IE Fixes 
    ======================== */ 
nav ul li { 
    display: inline; 
} 




nav { 
    display: block; 
    float: right; 
    width: 38%; 
    clear: both; 
} 
+0

请张贴一些代码。 – Doorknob

+0

谢谢 - 我现在有。 – Sam

+0

问题到底是什么?您正在使用旧版浏览器不支持的HTML5代码。 – Kaloyan

回答

2

nav标签在IE 8及以下不支持,来规避这仅仅包括HTML5垫片,将增加对那些被打破标签的支持。试着在你的页面的<head>部分添加此:

<!-- HTML5 shim, for IE6-8 support of HTML5 elements --> 
<!--[if lt IE 9]> 
    <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> 
<![endif]--> 
+0

谢谢 - 我添加了一个html5shiv.js,我发现在谷歌代码,并将其包含在我的网站 - 不幸的是它没有解决问题。 – Sam

+0

@Sam - 如果html5shiv不起作用,请尝试使用modernizr。我发现它适用于html5shiv没有的情况(这很奇怪,因为它们应该为html5标签做同样的事情)。但是,您还有其他问题需要解决(请参阅我的答案),因此您需要做的不仅仅是这些。 – Spudley

+0

@Sam im不能完全确定你所包含的食指是否正在工作,我试图将导航元素设计成甚至没有食欲之后也无济于事。我更新了我提供的shiv的URL,这是我从我的一页中复制出来后错误地遗漏的,但这是我一直使用并始终工作的那个。 –

1

导航标签是在IE7/IE8不支持HTML5标记之前在头部分补充一点:标签:

<!--[if lt IE 9]> 
<script src="https://raw.github.com/h5bp/html5-boilerplate/master/js/vendor/modernizr-2.6.2.min.js"></script> 
<![endif]--> 

或者

<!--[if lt IE 9]> 
    <script src="https://raw.github.com/aFarkas/html5shiv/master/src/html5shiv.js"></script> 
<![endif]--> 
+0

如果你想使用html5标签,这个模板更好:https://github.com/h5bp/html5-boilerplate – hafid2com

1
  1. <nav>标签不支持IE8或更早。
  2. :first-child在IE7或更早版本中不受支持。
  3. :last-child在IE8或更早版本中不受支持。
  4. display: inline-block在IE6/7中受支持,但有一些重大错误。

所有这些问题将打破你的菜单。

要修复(1)使用html5shivModernizr,或者只是不要在较旧的IE中使用HTML5标记。

要修复(2)和(3)使用Selectivizrie9.js

修复(4)使用特定于IE的CSS hack强制IE6/7使用display:inline来代替。

相关问题