我有一张有背景图片的桌子(精灵)。表的td用作相对于精灵图像位置的链接。我喜欢这样:
CSS:
table.populair {
background-image:url(populair.png);
background-position:27px 27px;
background-repeat:no-repeat;
}
table td {
border:solid 1px #ccc;
border-radius:4px;
cursor:pointer;
}
td a{
display:block;
width: 105%;
height: 105%;
margin-left: -3px;
margin-top: -2px;
z-index:15;
}
HTML:
<table class="populair" border="0" bordercolor="#FFCC00" width="647" height="322" cellpadding="0" cellspacing="27">
<tr>
<td><a href="http://www.link.com/"></a>
</td>
<td><a href="http://www.link.com/"></a>
</td>
<td><a href="http://www.link.com/"></a>
</td>
<td><a href="http://www.link.com/"></a>
</td>
<td class="none">
</td>
</tr>
</table>
适用于Chrome(链接可点击)但不适用于Firefox和IE8。奇怪的是,如果我将td a从百分比更改为像素,它似乎起作用,但这会破坏我的精灵位置......那么我该怎么做才能使链接工作?
答案 0 :(得分:1)
您必须指定父元素(td)的宽度和高度,以便为子项使用%。
table.populair {
background-image:url(populair.png);
background-position:27px 27px;
background-repeat:no-repeat;
}
table tr td {
border:solid 1px #ccc;
border-radius:4px;
display:table-cell;
width: 10%;
height: 100%;
}
table tr td a{
display:block;
width: 100%;
height: 100%;
margin-left: -3px;
margin-top: -2px;
z-index:15;
}