IE7 Z-Index 问题(CSS 下拉菜单)

Posted

技术标签:

【中文标题】IE7 Z-Index 问题(CSS 下拉菜单)【英文标题】:IE7 Z-Index Issue (CSS DropDown) 【发布时间】:2011-10-21 00:53:29 【问题描述】:

我使用 JQuery 和 CSS Tricks 尝试了一些不同的修复,但我似乎无法让我的下拉菜单覆盖在 IE7 中的手风琴滑块之上。它似乎在任何其他网络浏览器中都能正常工作。任何帮助将不胜感激。

代码 sn-ps::

html

<div class="shell">
<div class="border">
        <div id="header">
          <h1 id="logo"><img src="" class="logo" /></h1>

          <div class="cl">&nbsp;</div>
        </div>
        <div id="nav">      
            <ul class="menu">
                <li class="current_page_item"><a href="index.php?selected=1">Home</a></li> 
                <li ><a href="#">Applications</a> 
                    <ul class="sub-menu"> 
                        <li><a href="#">Sub1</a></li> 
                        <li><a href="#">Sub2</a></li> 
                        <li><a href="#">Sub3</a></li>
                    </ul> 
                </li> 
                <li ><a href="#">Products</a> 
                    <ul class="sub-menu"> 
                        <li><a href="#">Sub1</a></li> 
                        <li><a href="#">Sub2</a></li> 
                        <li><a href="#">Sub3</a></li> 
                        <li><a href="#">Sub4</a></li> 
                    </ul> 
                </li> 
                <li ><a href="#">News/Media</a></li> 
                <li ><a href="#">About Us</a></li> 
                <li ><a href="#">Contact</a></li> 
            </ul>   
        </div><!--end nav-->    
<div id="accordion-1">
    <dl>
        <dt>Slide 1</dt>
            <dd>
                <h2><img src="images/accordian/efficacy.jpg" />Slide 1</h2>
                <p>Slide 1</p>
            </dd>
        <dt>Slide 2</dt>
            <dd>
                <h2><img src="images/accordian/accuracy.jpg" />Slide 2</h2>
                <p>Slide2</p>
            </dd>
        <dt>Slide 3</dt>
            <dd>
                <h2><img src="images/accordian/cost.jpg" />Slide 3</h2>
                <p>Slide 3 </p>
            </dd>
    </dl>
</div>

CSS

/* --------- */
/* -- Nav -- */
/* --------- */
#nav  height:43px; border-top:1px solid #dbdbdb; border-bottom:1px solid #dbdbdb;  
.menu  padding: 7px 6px 0 0; 
.menu li  margin: 0 5px; float: left; list-style:none; position:relative; border-right: 1px solid #DBDBDB; 
.menu a  display: block; padding:  8px 15px; margin: 0; color: #555; text-decoration: none; font-size: 15px; 
.menu .current a, .menu li:hover > a  color: #CA9800; 
.menu ul li:hover a, .menu li:hover li a  color: #555; 
.menu ul a:hover  background: #CA9800 !important; color: #fff !important; 
.menu ul  background: #eee; display: none; margin: 0; padding: 0; width: 250px; position: absolute; top: 35px; border: solid 1px #ddd; z-index:9000 !important; 
.menu li:hover > ul  display: block; 
.menu ul li  float: none; margin: 0; padding: 0; 
.menu ul a  font-size: 14px; 
.menu ul ul  left: 250px; top: -3px; 
.menu li.current_page_item a  color: #CA9800; 
.menu .sub-menu li.current_page_item a  color: #CA9800; 

/* --------------- */
/* -- ACCORDIAN -- */
/* --------------- */

/* UNLESS YOU KNOW WHAT YOU'RE DOING, DO NOT CHANGE THE FOLLOWING RULES */

.easy-accordiondisplay:block;position:relative;overflow:hidden;padding:0;margin:0
.easy-accordion dt,.easy-accordion ddmargin:0;padding:0
.easy-accordion dt,.easy-accordion ddposition:absolute
.easy-accordion dtmargin-bottom:0;margin-left:0;z-index:5;/* Safari */ -webkit-transform: rotate(-90deg); /* Firefox */ -moz-transform: rotate(-90deg);-moz-transform-origin: 20px 0px;  /* Internet Explorer */ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);cursor:pointer;
.easy-accordion ddz-index:1;opacity:0;overflow:hidden
.easy-accordion dd.activeopacity:1;
.easy-accordion dd.no-more-activez-index:2;opacity:1
.easy-accordion dd.activez-index:3
.easy-accordion dd.plusz-index:4
.easy-accordion .slide-numberposition:absolute;bottom:0;left:10px;font-weight:normal;font-size:1.1em;/* Safari */ -webkit-transform: rotate(90deg); /* Firefox */ -moz-transform: rotate(90deg);  /* Internet Explorer */ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);


/* FEEL FREE TO CUSTOMIZE THE FOLLOWING RULES */

dd pline-height:120%

#accordion-1width:800px;height:245px;padding:20px;background:#fff;margin:0 0 0 60px; z-index:1;
#accordion-1 dlwidth:800px;height:245px   
#accordion-1 dtheight:46px;line-height:44px;text-align:right;padding:0 15px 0 0;font-size:1.1em;font-weight:bold;font-family: arial, sans-serif; text-transform:uppercase;letter-spacing:1px;background:#fff url(../images/slide-title-inactive-1.jpg) 0 0 no-repeat;color:#BF8530
#accordion-1 dt.activecursor:pointer;color:#fff;background:#fff url(../images/slide-active.jpg) 0 0 no-repeat
#accordion-1 dt.hovercolor:#BF8530;
#accordion-1 dt.active.hovercolor:#fff
#accordion-1 ddpadding:25px;background:url(../images/slide.jpg) bottom left repeat-x;border:1px solid #dbe9ea;border-left:0;margin-right:3px
#accordion-1 .slide-numbercolor:#68889b;left:10px;font-weight:bold
#accordion-1 .active .slide-numbercolor:#fff;
#accordion-1 acolor:#BF8530
#accordion-1 dd imgfloat:right;margin:0 0 0 30px;
#accordion-1 h2font-size:2.5em;margin-top:10px
#accordion-1 .morepadding-top:10px;display:block

【问题讨论】:

也许您可以在问题中发布您的 CSS 和 HTML 的相关部分。 【参考方案1】:

您可能希望将position:relative; 添加到下拉的部分。根据this,它通常会解决您的问题。

【讨论】:

你可能还想看看这个:***.com/questions/1287439/ie7-z-index-problem 添加位置:相对于手风琴 div 似乎可以解决问题。【参考方案2】:

IE 7 中的 z-index 存在一个已知问题。它对绝对定位元素的 z-index 与相对定位元素的处理方式不同。就像您有两组 z 索引。如果您不能让所有元素都使用相同的定位,则可以使用具有相同定位的包装器来修复它。

z-index bug threads

Z-Index IE bug fix?

Internet Explorer z-index bug?

jQuery 解决方案:

http://www.vancelucas.com/blog/fixing-ie7-z-index-issues-with-jquery/

http://webdeveloper2.com/2010/01/how-to-fix-the-ie-z-index-bug-with-jquery/

【讨论】:

尝试了其中的一些,也许我只是没有正确实现它。我将看一下其他一些链接。谢谢。

以上是关于IE7 Z-Index 问题(CSS 下拉菜单)的主要内容,如果未能解决你的问题,请参考以下文章

IE 7 CSS 下拉菜单问题

css下拉栏被下面的层挡住怎么办~

css下来菜单被下面的背景图片挡住了?

ie6和ie7下z-index bug的解决办法

网页下拉菜单怎么设置

隐藏在 Bootstrap 模式中的下拉菜单