CSS Sprites在IE中不起作用[8/7/6]

时间:2009-02-18 09:12:02

标签: css internet-explorer css-sprites

我正在尝试CSS使用精灵来动画我的风险矩阵......它在Firefox和Chrome中运行得很好,但图像不会出现在IE中......

代码如下,不想在这里粘贴整个内容,但摘录显示模式:

<dl id="rmMap4x4">
<dd id="m4p4s1">
<a onclick="setDropDownListValues(4,1,3,4)" onmouseover="setDropDownListValues(4,1,-1,4)">
</a>
</dd>
<dd id="m4p3s1">
<a onclick="setDropDownListValues(3,1,2,4)" onmouseover="setDropDownListValues(3,1,-1,4)">
</a>
</dd>
...
</dl>

CSS:

dl#rmMap4x4
{
background:  url(/images/RiskMatrix_4x4.png) no-repeat scroll left top;
height: 400px;
margin: 0pt;
padding: 0pt;
position: relative;
width: 400px;
}
/*column 1*/
dd#m4p4s1 a
{
top: 99px;
left: 99px;
}
dd#m4p4s1 a:hover
{
position: absolute;
background:  url(/images/RiskMatrix_4x4.png) -98px -500px no-repeat;
top: 100px;
left: 99px;
}
dd#m4p3s1 a
{
top: 149px;
left: 99px;
}
dd#m4p3s1 a:hover
{
position: absolute;
background:  url(/images/RiskMatrix_4x4.png) -98px -550px no-repeat;
top: 150px;
left: 99px;
}

我用IE Dev检查了样式。工具栏(我想要IE的firebug),所有样式都到位,服务器上的图像,但它不会在IE中显示!!!

我很确定这是一些愚蠢的IE CSS怪癖,请帮忙。

更新: @RoBorg:您的建议没有解决问题,但它解决了“悬停”问题。事实证明,问题在于绝对定位的外部div和一些菜单样式,这些都以某种方式搞砸了整个事物。

1 个答案:

答案 0 :(得分:12)

如果没有:hover,IE不会将<a>应用于href。这应该有效:

<a href="#" onclick="setDropDownListValues(3,1,2,4); return false;"
     onmouseover="setDropDownListValues(3,1,-1,4);">