表链接在Firefox,IE8中不起作用

时间:2012-05-05 13:10:01

标签: html css html-table href

我有一张有背景图片的桌子(精灵)。表的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从百分比更改为像素,它似乎起作用,但这会破坏我的精灵位置......那么我该怎么做才能使链接工作?

1 个答案:

答案 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;
}​

DEMO.