我仅在 IE 中的下拉菜单存在问题,并且我得到不同版本的不同结果。
我要参考的导航可以在这里找到:http: //lt.philosophydesign.com/
它可以在 Firefox/Safari/Chrome 中正常工作和显示。它在 IE9 和 IE8 中显示良好,但是当您尝试浏览下拉菜单中的第一项时,下拉菜单会消失。在 IE7 和 IE6 中,下拉菜单显示在主体内容的后面。
奇怪的是,如果我<div id="content">
在 IE9 和 IE8 中删除导航显示和功能正确的内容。
这是导航CSS:
/* Navigation */
div#navcontainer {
left:193px;
position:absolute;
top:108px;
width:767px;
z-index:1000;
}
div#navcontainer ul {
display:block;
list-style:none;
margin:0;
padding:0;
position:relative;
width:100%;
}
div#navcontainer ul li {
display:inline;
float:left;
margin-left:27px;
position:relative;
}
div#navcontainer ul li a {
color:#95006a;
display:block;
font-family:"LEWINRockwellExtraBoldRegular", "Arial Black", Gadget, sans-serif;
font-size:14px;
text-transform:uppercase;
text-decoration:none;
}
div#navcontainer ul li.lightblue:hover a,
div#navcontainer ul li.lightblue.selected a,
div#navcontainer ul li.lightblue.sfHover a {
color:#94CDF3;
}
div#navcontainer ul li.green:hover a,
div#navcontainer ul li.green.selected a,
div#navcontainer ul li.green.sfHover a {
color:#71B9AE;
}
div#navcontainer ul li.limegreen:hover a,
div#navcontainer ul li.limegreen.selected a,
div#navcontainer ul li.limegreen.sfHover a {
color:#BBD353;
}
div#navcontainer ul li.grey:hover a,
div#navcontainer ul li.grey.selected a,
div#navcontainer ul li.grey.sfHover a {
color:#A8A9AC;
}
div#navcontainer ul li.darkblue:hover a,
div#navcontainer ul li.darkblue.selected a,
div#navcontainer ul li.darkblue.sfHover a {
color:#1B2768;
}
div#navcontainer ul li.magenta:hover a,
div#navcontainer ul li.magenta.selected a,
div#navcontainer ul li.magenta.sfHover a {
color:#CC2D88;
}
div#navcontainer ul li ul {
position:absolute;
top:-9999px;
left:0;
width:195px;
}
div#navcontainer ul li:hover ul, div#navcontainer ul li.sfHover ul{
top:17px;
}
div#navcontainer ul li ul li {
float:left;
margin-left:0;
width:195px;
}
div#navcontainer ul li ul li a {
display:block;
font-size:12px;
margin-top:1px;
padding: 2px 4px;
}
div#navcontainer ul li.lightblue ul li a {background:#94CDF3; color:#C9E6F9 !important;}
div#navcontainer ul li.green ul li a {background:#71B9AE; color:#C3DBD6 !important;}
div#navcontainer ul li.limegreen ul li a {background:#BBD353; color:#DFE9B0 !important;}
div#navcontainer ul li.grey ul li a {background:#A8A9AC; color:#D3D4D5 !important;}
div#navcontainer ul li.darkblue ul li a {background:#1B2768; color:#9092B0 !important;}
div#navcontainer ul li.magenta ul li a {background:#CC2D88; color:#D399C0 !important;}
div#navcontainer ul li.lightblue ul li a:hover,
div#navcontainer ul li.green ul li a:hover,
div#navcontainer ul li.limegreen ul li a:hover,
div#navcontainer ul li.grey ul li a:hover,
div#navcontainer ul li.darkblue ul li a:hover,
div#navcontainer ul li.magenta ul li a:hover {
color:#fff !important;
}
这是导航 HTML:
<div id="navcontainer">
<ul id="mainnav" class="nav">
<li class="magenta<?php echo $selected['home']; ?>"><a href="/">Home</a></li>
<li class="lightblue<?php echo $selected['location']; ?>"><a href="/location">Location</a>
<ul>
<li><a href="/location/area/travel">Travel</a></li>
<li><a href="/location/area/parks">Parks</a></li>
<li><a href="/location/area/shops">Shops</a></li>
<li><a href="/location/area/leisure">Leisure</a></li>
<li><a href="/location/area/eatdrink">Eat & Drink</a></li>
</ul>
</li>
<li class="green<?php echo $selected['specification']; ?>"><a href="/specification">Specification</a>
<ul>
<li><a href="/specification/area/general">General</a></li>
<li><a href="/specification/area/kitchen">Kitchen</a></li>
<li><a href="/specification/area/bedroom">Bedroom</a></li>
<li><a href="/specification/area/bathroom">Bathroom</a></li>
</ul>
</li>
<li class="limegreen<?php echo $selected['plans']; ?>"><a href="/plans">Plans</a>
<ul>
<li><a href="/plans/area/1bed">1 Bedroom Apartments</a></li>
<li><a href="/plans/area/2bed">2 Bedroom Apartments</a></li>
</ul>
</li>
<li class="grey<?php echo $selected['gallery']; ?>"><a href="/gallery">Gallery</a>
<ul>
<li><a href="/gallery/area/gallery">View Gallery</a></li>
</ul>
</li>
<li class="darkblue<?php echo $selected['about-us']; ?>"><a href="/about-us">About Us</a></li>
<li class="magenta<?php echo $selected['contact-us']; ?>"><a href="/contact-us">Contact Us</a></li>
</ul>
</div>
而且我有一些 jQuery 来向悬停的 LI 添加一个类,因为 IE7< 不支持 :hover 在除 A 标签之外的任何内容上。
$("div#navcontainer ul li").mouseenter( function() { $(this).addClass("sfHover"); } );
$("div#navcontainer ul li").mouseleave( function() { $(this).removeClass("sfHover"); } );
谁能帮我弄清楚为什么这在 IE 中不起作用?
谢谢
斯科特