0

JS:

DD_belatedPNG js

HTML:

<script type="text/javascript" src="js/fixpng.js"></script>

<a href="#" class="sbToggle"></a>

CSS:

.sbToggle{
    background: url(/img/select-icons-trans.png) 0 0 no-repeat;
    display: block;
    height: 27px;
    outline: none;    
    width: 31px;
}
.sbToggle:hover{
    background: url(/img/select-icons-trans.png) 0 -27px no-repeat;
}

上面的代码适用于 IE6+ 和 FF。但是在 IE6 中,当我的鼠标移动到a触发 .sbToggle:hover 事件的元素时,背景图像(background-position:0 -27px)会有一个像素偏移(就像带有 的a元素一样margin-top:-1px)。

我想这与 DD_belatedPNG.js 的 vmlOffsets 方法有关。有没有人有同样的问题?

==============更新================

我在DD_belatedPNG 网站上找到了关于一个像素偏移的描述)

- the one pixel gap problem has been mostly solved. Few people noticed, 
but it bugged me, and was VERY hard to fix.[0.0.6a / 2008.12.14]
4

1 回答 1

0

在我看来,如果您支持 IE6,那么您可能(或在您完成时将拥有)一种仅针对 IE6(条件注释或其他方式)定位 css 的方法。如果是这样,那么最简单的解决方案是使用您用来定位 IE6 的任何方法,然后将 IE6 的 css 更改为:

.sbToggle:hover{
    background: url(/img/select-icons-trans.png) 1px -27px no-repeat;
}
于 2011-11-21T14:26:24.033 回答