它在所有设备上都运行良好,除了 XP 上的 IE8,由于臭名昭著的 IE 透明 png 问题,我在翻转时在 prev 和 next 按钮周围出现黑色边框。上一个和下一个按钮需要是透明的 png,因为它们有一个阴影并且放置在过渡图像的顶部。
箭
IE8 XP 中的问题
的HTML
<div class="nivo-directionNav">
<a class="nivo-prevNav" style="display: none;"></a>
<a class="nivo-nextNav" style="display: none;"></a>
</div>
CSS
.nivo-directionNav a {
position:absolute;
z-index:9;
cursor:pointer;
}
/* the arrows are taken from a single sprite with a standard and active image
for prev and next with the background-position changed on rollover */
.nivo-prevNav, .nivo-nextNav {
width: 80px;
height: 100%;
}
.nivo-prevNav {
left:0px;
background: url("images/nivo_4_arrows.png") no-repeat 0 0;
}
.nivo-prevNav:hover {
background: url("images/nivo_4_arrows.png") no-repeat -80px 0;
}
我试图实现这个javascript作为修复:
var i;
for (i in document.images) {
if (document.images[i].src) {
var imgSrc = document.images[i].src;
if (imgSrc.substr(imgSrc.length-4) === '.png' || imgSrc.substr(imgSrc.length-4) === '.PNG') {
document.images[i].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',sizingMethod='crop',src='" + imgSrc + "')";
}
}
}
...以及在此论坛上的类似帖子中找到的此插件,但都没有证明是成功的。
在这方面浪费了很多时间,所以我真的很感谢任何可以解决问题的人!