我正在试图让一个suckerfish风格的下拉菜单在IE6中使用以下任何东西:悬停但不能让我的生活得到第三级显示!我非常感谢你对此提出任何帮助。
继承代码 HTML:
<!DOCTYPE html>
<html>
<body>
<header>
<link rel="stylesheet" type="text/css" href="styleIE.css" />
</header>
<form>
<div id="container">
<div id = "menu">
<ul id="nav">
<li><a class="rhlinkstart" href="#"><span>Home</span></a></li>
<li><a class="rhlink" href="#"><span>Blad<br> Securities</span></a></li>
<li><a class="rhlink" href="#"><span>Market<br> Update</span></a></li>
<li><a class="rhlink" href="#"><span>Membership</span></a></li>
<li><a class="rhlink" href="#"><span>asdasd Info</span></a>
<ul>
<li><a class="linkchild" href="#"><img class = "arrow" src="Images/arrow.gif" alt="►">About the DOOB</a>
<ul>
<li><a class="linkchild" href="#">DOOB Explained</a></li>
<li><a class="linkchild" href="#">DOOB Jurisdications</a></li>
</ul>
</li>
<li><a class="linkchild" href="#">International Recogintion</a></li>
<li><a class="linkchild" href="#"><img class = "arrow" src="Images/arrow.gif" alt="►">Advantages of listing</a>
<ul>
<li><a class="linkchild" href="#">Advantages of Listing</a></li>
<li><a class="linkchild" href="#">Offers</a></li>
</ul>
</li>
<li><a class="linkchild" href="#">Advantages Of Membership</a></li>
<li><a class="linkchild" href="#">Publications</a></li>
<li><a class="linkchild" href ="#">Links</a></li>
</ul>
</li>
<li><a class="rhlinkend" href="#"><span>Contact Us</span></a></li>
<li> </li>
</ul>
</div>
</div>
</form>
</body>
</html>
CSS:
body{
line-height:1;
background: #e3e3e3;
behavior: url("csshover3.htc");
}
/*------------------------------------*\
Main
\*------------------------------------*/
div#container
{
width:1024px;
margin:0 auto;
position: relative;
text-align: center;
background-color: white;
border: 1px solid #8b8b8b;
}
.contentwrapper {
width: 964px;
margin: 0px auto;
text-align: left;
height: 100%;
}
.clearall {
clear: both;
}
/*------------------------------------*\
Home Page - Menu Styling
\*------------------------------------*/
#menu {
margin: 0 auto;
padding-left: 2%;
height: 47px;
position: relative;
top: 0;
border: 1px solid rgb(140,51,61);
font-size: 75%;
display: block;
}
#nav {
margin:0;
padding:0;
list-style-type:none;
list-style-position:outside;
position:relative;
height:47px;
background: none;
background-color: transparent;
width: 100%;
}
#nav ul {
margin:0;
padding:0;
list-style-type:none;
list-style-position:outside;
position:relative;
}
#nav a.rhlinkstart:link, #nav a.rhlinkstart:active, #nav a.rhlinkstart:visited {
position: relative;
float:left;
font-family: Georgia;
color: rgb(131,0,26);
width: 148px;
text-align: center;
height: 47px;
margin-right: -.07em;
margin-left: 0.5em;
line-height: 47px;
text-decoration: none;
}
#nav a.rhlink:link, #nav a.rhlink:active, #nav a.rhlink:visited {
position: relative;
float:left;
font-family: Georgia;
color: rgb(131,0,26);
width: 148px;
text-align: center;
height: 47px;
margin-left: -47px;
line-height: 47px;
text-decoration: none;
display: block;
}
#nav a.rhlinkend:link, #nav a.rhlinkend:active, #nav a.rhlinkend:visited {
float:left;
position: relative;
color: rgb(131,0,26);
width: 148px;
height: 47px;
line-height: 47px;
margin-left: -3.780em;
font-family: Georgia;
text-decoration: none;
}
#nav li {
float:left;
position:relative;
display: block;
}
li a.rhlink span {
line-height: 1em;
text-decoration: none;
text-align: center;
display: inline-block;
vertical-align: middle;
}
#nav li a.rhlink:hover,
#nav li a.rhlinkstart:hover,
#nav li a.rhlinkend:hover
{
background: red;
color: white;
text-decoration: none;
}
#nav a.linkchild:link,
#nav a.linkchild:active,
#nav a.linkchild:visited
{
display:block;
padding:0px 10px;
text-decoration:none;
color: white;
background: pink ;
}
#nav a.linkchild:hover {
background: rgb(118,0,18);
color: white;
}
#nav ul {
position:absolute;
top:47px;
left:0;
margin: 0;
width:200px;
display:none;
}
#nav li ul a {
width:15em;
float:left;
display: inline-block;
line-height: 2.5em;
text-align: left;
vertical-align: middle;
}
#nav li {
display: inline-block !important;
float: left;
}
#nav li a {
display: inline-block !important;
vertical-align: middle;
}
#nav ul ul {
top:auto;
}
#nav li ul ul {
left:200px;
margin:0;
}
#nav ul ul li ul {
left:200px;
margin:0;
}
#nav ul ul {
display:none;
}
#nav li:hover ul {
display:block;
}
/* 2 and 13 */
#nav ul ul,
#nav li:hover ul ul {
display:none;
}
/* 12 and 23*/
#nav li:hover ul, #nav li:hover li:hover ul {
display:block;
}
答案 0 :(得分:5)
您似乎正在使用HTML5但未使用HTML5 shiv,这将允许旧浏览器识别HTML5标记。
http://code.google.com/p/html5shiv/
您还要在HTML5“标题”标记内加载样式表,而不是在您似乎没有的文档的常规“head”标记内。
修复这些问题可能有助于解决您的问题。
答案 1 :(得分:5)
一种可能的解决方案:
display:inline-block
在IE6中有一些严重的错误;我建议改为display:inline
。
除此之外,您还需要做一些事情来触发IE将元素置于“hasLayout”模式。你不能直接这样做,因为它是一个内部的IE标志,但是设置许多CSS属性中的任何一个都会触发它。最常用的是zoom:1
,因为它没有太多其他影响,并被其他浏览器忽略。
如果可行的话,使用IE6 CSS hack来实现它,以便其他浏览器可以继续使用inline-block
。我建议使用下划线黑客或条件评论。
这是代码,使用下划线黑客:
display:inline-block;
_display:inline;
zoom:1;
希望有所帮助。
[注意:回答编辑包含hasLayout,扩展IE6 css hack选项,并提供一大块代码]
答案 2 :(得分:0)
此时Internet Explorer 6已经死了,事实上它已经死了。 99.9%的IE6用户代理是机器人,我有三个访问者没有出现。我的浏览器市场份额基于DOM对象检测,因此与基于用户代理的统计信息不同,它实际上是可靠的。即使你可以被欺骗,以为IE6实际上拥有10%的市场份额,你仍然必须处理它已经并将继续缩小的事实。我甚至懒得去测试IE7,因为我只有一位数的访问者使用它。此时投入到IE6 / 7中的时间和金额超出了任何理由,除非客户已经死定并且他们不在乎他们会花费每小时50美元来修复IE6 / 7特定的错误。< / p>
答案 3 :(得分:0)
感谢评论人员,最后我从头开始重写了菜单并让它在IE6中运行。我知道IE6已经死了,但我的客户最大的客户端使用这个浏览器:(所以必须这样做。