我的导航菜单不适用于IE< 9

时间:2013-04-13 15:03:08

标签: html css internet-explorer-8 internet-explorer-7 internet-explorer-6

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

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;
}

3 个答案:

答案 0 :(得分:2)

IE 8及更低版本不支持nav标记,为了避免这种情况,只需包含一个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]-->

答案 1 :(得分:1)

nav 标记是IE7 / IE8中不支持的html5标记在head section中添加此标记:tag:

<!--[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]-->

答案 2 :(得分:1)

    IE8或更早版本不支持
  1. <nav>标记。
  2. IE7或更早版本不支持
  3. :first-child
  4. IE8或更早版本不支持
  5. :last-child
  6. IE6 / 7支持
  7. display: inline-block,但有一些重大错误。
  8. 所有这些问题都将破坏您的菜单。

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

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

    要修复(4)使用特定于IE的CSS黑客强制IE6 / 7改为使用display:inline