IE7上的边距问题,jQuery悬停对绝对位置的影响

时间:2010-07-10 02:01:31

标签: jquery css css-position

.nav li p上的绝对位置在仅在IE7上悬停图像时会产生额外的余量,但没有绝对位置,图像会闪烁。

除绝对定位之外还有其他选择吗?

这就是我所拥有的:

$('ul.nav li').hover(function() {
  $(this).prepend('<p></p>')
         .find('p')
         .fadeIn('fast');
}, function() {
  $(this).find('p')
         .fadeOut('fast', function() {
            $(this).remove()
         });
});

CSS:

.nav li{
    width:360px;
}
.nav li p {
    width:360px;
    margin: 0;
    padding:0;
    position: absolute;
    display:none;
}
li#stylea {height:138px;background: url(images/1.jpg) 0 -474px no-repeat}
li#stylea p {height:138px;background: url(images/1.jpg) 0 bottom no-repeat;}
li#styleb { height:149px; background: url(images/1.jpg) 0 -176px no-repeat}
li#styleb p {height:149px;background: url(images/1.jpg) 0 -325px no-repeat;}

HTML:

<div>
   <ul class="nav">
      <li id="stylec"></li>
      <li id="styleb"></li>   
      <li id="stylea"></li>   
   </ul>
   <ul class="nav">
      <li id="styled"></li>   
      <li id="stylee"></li>   
      <li id="stylef"></li>                       
   </ul>
</div>

1 个答案:

答案 0 :(得分:0)

我首先尝试的是始终将zoom:1添加到相关元素中。有时是父母..有时是孩子。 zoom:1恰好将IE7排成一行。

你会惊讶地发现它有多少次。