1

下面的精灵可以工作,但是在某些放大倍率下,图像的顶部会在鼠标悬停时向下移动,从而产生不需要的移动效果。问题出现在多个浏览器上。有什么线索吗?提前致谢。

<style>
.test   {width:107px; height:51px;
background:url(http://img706.imageshack.us/img706/6812/navr.gif) no-repeat 0 0; }
.test:hover {background:url(http://img706.imageshack.us/img706/6812/navr.gif) no-repeat 0 -51px; }
</style>
<div class="test"></div>

编辑:我在网络上查看了其他一些精灵示例,并且在其他网站上也看到了这种情况!我花了很长时间研究这个问题,但我还没有看到任何地方提到 CSS 精灵的这个特定问题!

我的直觉告诉我,在我的代码中我绝对无法解决这个问题,而解决方案在于 gif 本身的创建。我希望我错了,并且有一些银色的 CSS 子弹!

编辑#2:我尝试使用“水平”精灵,即第二个导航栏位于第一个导航栏的右侧而不是下方。结果:更少的放大倍率产生了失真,但我发现水平偏移比垂直偏移更刺眼。

在我找到解决方案之前,我认为精灵不是我将使用的东西:我宁愿让客户再等一两秒钟来获取图像,也不愿让页面看起来不专业。

4

1 回答 1

0

通常我使用背景位置

#menu li a{background:url('/resources/menuIcons.png');display:block;float:left;height:70px;text-indent:-9999px;width:70px;}
#menu li.home a{background-position:0px 0px;}
#menu li.home a:hover{background-position:0px -70px;}

尝试像这样构建您的代码

于 2012-04-21T10:14:40.737 回答