CSS菜单在IE8中不起作用

时间:2012-11-02 08:25:28

标签: css drop-down-menu internet-explorer-8

请有人帮忙。我查看了所有主题,我看不出我的代码有什么问题:

这是下面的菜单,所有的CSS。

我也改变了标题,以反映我发现的上一篇文章没有修复。

/* =Menu
-------------------------------------------------------------- */

#access {
background: #240E04; /* Show a solid color for older browsers */
background: -moz-linear-gradient(#471B07, #0C0401);
background: -o-linear-gradient(#471B07, #0C0401);
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#471B07), to(#0C0401));  /* older webkit syntax */
background: -webkit-linear-gradient(#471B07, #0C0401);
font-family: TradeGothicCondensedNo18;
clear: both;
display: block;
float: left;
margin-left: 10px;
width:97.5%;
}
#access ul {
font-size: 18px;
text-transform: uppercase;
list-style: none;
margin: 0 0 0 0em;
padding-left: 0px;
padding-top: -50px;
}
#access li {
float: left;
position: relative;
}
#access a {
color: #eee;
display: block;
line-height: 2em;
padding: 0 0.8em;
text-decoration: none;
}
#access ul ul {
-moz-box-shadow: 0 3px 3px rgba(0,0,0,0.2);
-webkit-box-shadow: 0 3px 3px rgba(0,0,0,0.2);
box-shadow: 0 3px 3px rgba(0,0,0,0.2);
display: none;
float: left;
margin: 0;
position: absolute;
top: 2em;
left: 0;
width: 220px;
z-index: 99999;
}
#access ul ul ul {
left: 100%;
top: 0;
}
#access ul ul a {
background: #170802;
border-bottom: 1px dotted #ddd;
color: #fff;
font-size: 18px;
font-weight: normal;
height: auto;
line-height: 1.4em;
padding: 5px 5px;
width: 350px;
border: solid;
border-width: thin;
border-color: #170802;
 }
#access li:hover > a,
#access ul ul :hover > a,
#access a:focus {
background: #7A330E;
}
#access li:hover > a,
#access a:focus {
background: #f9f9f9; /* Show a solid color for older browsers */
background: -moz-linear-gradient(#7A330E, #170802);
background: -o-linear-gradient(#7A330E, #170802);
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#7A330E), to(#170802)); /* Older webkit syntax */
background: -webkit-linear-gradient(#7A330E, #170802);
color: #ffffff;
 }
#access ul li:hover > ul {
display: block;
}
#access .current-menu-item > a,
#access .current-menu-ancestor > a,
#access .current_page_item > a,
#access .current_page_ancestor > a {
font-weight: bold;
}

#footer {
background-color: #000000;
width: 97.5%;
height: 20px;
float: left;
clear: both;
margin-left: 10px;
margin-top: -0px;
font-family: 'Arial';
line-height: normal; 
font-size: 11px;
text-align: center;
color: #ffffff;
padding-top: 0.5%;
}

3 个答案:

答案 0 :(得分:1)

请勿将nav更改为div。 问题是IE8及更早版本不允许您设置HTML5标签的样式。

使用HTML5Shiv使IE< 9支持HTML5标记。

http://code.google.com/p/html5shiv/

并加上此标记:

<!--[if lt IE 9]>
<script src="dist/html5shiv.js"></script>
<![endif]-->

来自维基百科:

  

HTML5Shiv是由Sjoerd Visscher发现的JavaScript解决方法,   在Internet Explorer版本中启用HTML5元素的样式   版本9之前,不允许对未知元素进行样式设置   没有JavaScript。

编辑: 此外,由于您使用的是HTML5标记,因此应将DOCTYPE更改为:

<!DOCTYPE html>

答案 1 :(得分:0)

HI现在更改为html code

nav代码更改为div

就像这样

转入

    <nav role="navigation" id="access">
// here some code of your html
</nav>

    <div role="navigation" id="access">
// here some code of your html
</div>

因为此nav代码不支持您的ie8,因为您使用HTML 4.0此代码是支持HTML5

答案 2 :(得分:0)

  在ie8及以下版本

中不支持

nav标记

你必须用div标签替换nav标签

<强>像

<nav>
Your Menu code here ...
</nav>

希望它能运作