-1

我的导航菜单在 IE 6、7 或 8 中不起作用。我很好,它在 IE 6 中不起作用,但不幸的是它需要在 IE 7 和 8 中工作。我使用的是 Ubuntu,所以我一直在测试使用http://netrenderer.com。nav div 没有向右浮动,并且 li 元素没有内联显示。为什么是这样?这是网站

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

3 回答 3

2

IE 8 及更低版本不支持该nav标签,为了规避这一点,只需包含一个 HTML5 shim,它将添加对那些正在破坏的标签的支持。<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]-->
于 2013-04-13T15:56:25.287 回答
1

nav标记是 IE7/IE8 中不支持的 html5 标记 在 head 部分之前添加此标记:标记:

<!--[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]-->
于 2013-04-13T16:27:05.330 回答
1
  1. <nav>IE8 或更早版本不支持标签。
  2. :first-childIE7 或更早版本不支持。
  3. :last-childIE8 或更早版本不支持。
  4. display: inline-block在 IE6/7 中受支持,但存在一些重大错误。

所有这些问题都会破坏你的菜单。

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

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

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

于 2013-04-13T16:35:10.340 回答