我在这里有一个下拉菜单,只是简单不会出现在IE6中。该网站在其他所有浏览器中都运行良好。我知道,似乎很难在IE6上失眠,但该网站适合那些仍然可以使用它的人群。
这是CSS:
html {
height:100%;
}
body, p, a, ul, li, ol, h1, h2, h3, h4, h5, h6 {
margin:0;
padding:0;
}
body {
behavior:url("csshover3.htc");
font-size:14px;
font-family:Arial, Helvetica, sans-serif;
background-color:#d3d3d3;
height:100%;
}
h1 {
font-size:18px;
color:#752eca;
text-decoration:none;
}
h2 {
font-size:14px;
color:#909090;
text-decoration:none!important;
}
p {
text-indent:20px;
color:#000;
}
p a {
color:#000;
text-decoration:underline;
}
p.foot {
text-indent:0px;
}
p.link {
font-size:18px;
color:#30F;
text-decoration:underline!important;
}
a {
color:#4d2288;
text-decoration:none;
outline:none;
}
a:visited {
color:#4d2288;
}
p a:hover {
text-decoration:underline!important;
}
ul#nav {
padding:5px;
margin:0px auto;
width:100%;
}
ul#nav li a {
display:block;
font-weight:bold;
padding:2px 10px;
background:#bacddb;
}
ul#nav li a:hover {
background:#888;
color:#fff;
}
li {
list-style:none;
float:left;
position:relative;
width:225px;
text-align:center;
margin:0px auto;
margin-right:4px;
border:1px solid #4d2288;
}
li ul {
display:none;
position:relative;
width:auto;
top:0;
left:0;
margin-left:-1px;
}
li>ul {
top:auto;
left:auto;
border-top:none;
}
li:hover ul, li.over ul {
display:block;
}
ul#nav li.current a {
background:#b8ab28;
}
ul#nav li.current a:hover {
background:#888;
}
img {
margin:10px 0 5px;
}
*html img {
margin:20px;
}
.coltextimg {
position:relative;
float:left;
background-position:left bottom;
padding:0px 20px 10px 0px;
border:none;
}
#maincontent {
width:940px;
margin:0px auto;
postition:absolute;
}
*html #maincontent {
margin-left:42px;
}
#header {
float:left;
width:100%;
height:auto!important;
height:100%;
min-height:100%;
margin:0px auto;
background-image:url(images/banner_test.jpg);
background-repeat:no-repeat;
border:2px solid #752eca;
-webkit-border-top-left-radius:10px;
-webkit-border-top-right-radius:10px;
-moz-border-radius-topleft:10px;
-moz-border-radius-topright:10px;
border-top-left-radius:10px;
border-top-right-radius:10px;
}
.colmask {
position:relative;
margin-top:160px;
clear:both;
float:left;
width:100%;
overflow:hidden;
}
.colright,
.colmid {
float:left;
width:100%;
position:relative;
}
.col1,
.col2 {
float:left;
position:relative;
padding:10px 0 1em 0;
overflow:hidden;
}
.twocol {
background:#fff;
}
.twocol .colmid {
right:45%;
background:#fff;
}
.twocol .col1 {
width:51%;
left:47%;
text-align:justify;
z-index:0;
}
.twocol .col2 {
width:41%;
left:51%;
text-align:justify;
z-index:0;
}
.twocol .colimg {
border:2px solid #a0a0a0;
}
.twocol .colvid1 {
width:360px;
height:240px;
}
.twocol .colvid2 {
width:360px;
height:240px;
}
#footer {
text-align:center;
font-size:9px;
padding:10px 0 1em 0;
clear:both;
width:100%;
height:100%;
}
*html #footer {
height:43px;
}
#footer p a {
text-decoration:none;
}
#lyr_ddmenu {
position:absolute;
z-index:1;
height:10px;
top:120px;
float:left;
width:1000px;
margin:0px auto;
padding:5px;
}
#contact {
position:absolute;
float:right;
font-size:10px;
}
A.Controls:link {
color:#666666;
text-decoration:none;
font-weight:bold;
}
A.Controls:visited {
color:#666666;
text-decoration:none;
font-weight:bold;
}
A.Controls:active {
color:#666666;
text-decoration:none;
font-weight:bold;
}
A.Controls:hover {
color:#be0000;
text-decoration:none;
font-weight:bold;
}
这是html我遇到的具体问题:
<div id="maincontent">
<div id="header">
<div id="lyr_ddmenu">
<ul id="nav">
<li class="current"><href here...</a>
<ul class="sub">
<li><href here...</a></li>
<li><href here...</a></li>
<li><href here...</a></li>
<li><href here...</a></li>
<li><href here...</a></li>
</ul></li>
<li><href here...</a></li>
<ul class="sub">
<li><href here...</a></li>
<li><href here...</a></li>
<li><href here...</a></li>
<li><href here...</a></li>
</ul></li>
<li><href here...</a></li>
<li><href here...</a></li>
<ul class="sub">
<li><href here...</a></li>
</ul></li>
</ul>
</div>
谢谢!
答案 0 :(得分:3)
IE6不支持所有元素的:hover
伪类,只支持a
个标记,因此以下规则不会在IE6中应用:
li:hover ul, li.over ul {
display:block;
}
看起来您的菜单设计为使用Javascript来模拟:hover
,方法是使用over
函数将li
元素添加到mouseover
元素中,这样您就可以了在任何人都可以诊断IE6中发生的事情之前,需要发布任何Javascript。
如果这可能有所帮助,您可以使用Whatever:hover脚本在IE6中模拟此行为。
答案 1 :(得分:0)
1)从behavior:url("csshover3.htc");
body
2)将其添加到底部(更好地替换.htc
)
* html li { scrollbar-face-color: expression(runtimeStyle.scrollbarFaceColor = '#fff', onmouseover = function() {this.className += ' hover'}, onmouseout = function() {this.className = this.className.replace(/ hover/g, '')} ); }
li.hover ul { display:block; } /* (li:hover) */
3)应该工作。
或尝试分开
li:hover ul { display:block; }
li.over ul { display:block; }
您还可以使用jQuery 来处理:hover
jQuery(function($) {
$("li").bind('mouseover mouseout',function(){$(this).toggleClass('hover')});
});
玩.hover
课程:
li.hover ul { _display: block; } /* Styles for IE6 */