首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IE7:悬停在透明背景上时无法显示弹出框

IE7:悬停在透明背景上时无法显示弹出框
EN

Stack Overflow用户
提问于 2011-05-14 06:13:25
回答 2查看 799关注 0票数 4

这可能是我见过的最奇怪的事情之一。我有一个元素列表,每个元素都包含一个图标图像和一个隐藏的弹出框。当用户将鼠标悬停在图标上时,弹出框将显示在上方(jQuery的鼠标悬停位置)。这在所有浏览器和IE8/9中都工作得很好,但是IE7有一个问题。在图标和弹出框之间有一个“间隙”。如果我设置了背景颜色,并且弹出框的容器正在触摸图标行,那么当用户在屏幕上移动鼠标进行选择时,我可以保持弹出框显示在屏幕上。

但是,我不希望显示背景颜色,如果没有,当用户在该间隙中的任何位置移动鼠标时,弹出框将消失。换句话说,弹出窗口显示在正确的位置,但用户无法进行选择,因为如果不将鼠标悬停在间隙上,则无法到达弹出窗口。

下面是一些HTML和CSS:

代码语言:javascript
复制
<div class="icon-nav">
   <ul>
      <li>
        <div class="popup-wrapper">
            <a href="#" class="replace air" rel="air">Air Quality</a>
            <div class="popup-container">
                <div class="popup-content"></div>
            </div>
        </div>
      </li>
      <li>
         <div class="popup-wrapper">
            <a href="#" class="replace health" rel="health">Public Health</a>
            <div class="popup-container">
                <div class="popup-content"></div>
            </div>
        </div>
      </li>
      Etc....
   </ul>
</div>

CSS:

代码语言:javascript
复制
.icon-nav { position: absolute; top: 388px; z-index: 999; width: 100%; } /* Positioned relative to a wrapper element. */
.icon-nav ul { display: block; width: 968px; margin: 0 auto; position: relative; }
.icon-nav ul li { float: left;  }
.icon-nav ul li .popup-wrapper {}
.icon-nav ul li .popup-container { position: absolute; bottom: 0px; padding-bottom: 35px; z-index: 9999; width: 100%; display:none; left: 0px; }
.icon-nav ul li .popup-content { width: 900px; height: 260px; background-color: #fff; margin: 0 auto; padding:30px; }
.icon-nav ul li a { width:121px; height: 115px; overflow: hidden; }

jQuery:

代码语言:javascript
复制
$('.icon-nav li .popup-wrapper').hover(
      function(){
         $('a',this).addClass('hover')
         var name = $('a', this).attr('rel');
         var popup = $('.popup-container', this);
         $(popup).css({'display':'block'});
         // More Code...
      },function(){
        $('a',this).removeClass('hover');
        $('.popup-container', this).css({'display':'none'});
      }
   );

蒂娅!

EN

回答 2

Stack Overflow用户

发布于 2011-07-31 02:40:23

创建一个1像素的正方形透明png,并使用它作为你的元素背景。

票数 2
EN

Stack Overflow用户

发布于 2011-05-14 06:37:12

这只是一个简单的尝试:

设置css规则background-color:透明

在包含间隙的div上(我猜应该是.popup-container)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5998295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档