1

我有一个图像菜单。我想在链接激活时更改imageinto表。TD

<table width="100%">
    <tr>
        <td align="left">
            <a href="http://pinkmodels.16mb.com/">
                <img src="http://i.imgur.com/jO3ni.jpg">
            </a>
        </td>
        <td align="center">
            <a href="http://pinkmodels.16mb.com/models/">
                <img src="http://i.imgur.com/utKcC.jpg">
            </a>
        </td>
        <td align="center">
            <a href="http://pinkmodels.16mb.com/blog/">
                <img src="http://i.imgur.com/h4JGE.jpg">
            </a>
        </td>
        <td align="center">
            <a href="http://pinkmodels.16mb.com/about/">
                <img src="http://i.imgur.com/M2GE8.jpg">
            </a>
        </td>
        <td align="right">
            <a href="http://pinkmodels.16mb.com/contact/">
                <img src="http://i.imgur.com/bWoe3.jpg">
            </a>
        </td>
    </tr>
</table>
4

3 回答 3

7

而不是在你的 CSS 文件中使用<img>标签使用属性。background-image

例如,

table td a{
    display: block;
    background-image:url('FirstImageURL');
    /* other background properties like "background-size", if needed */
}

table td a:active{
    background-image:url('SecondImageURL');
}

要不然

您可以使用content css 属性更改图像:(适用于 chrome

.className { /* or "img" */
    content:url('ImagePathURL');
}

工作小提琴

您可以通过为每个img标签分配唯一的类(或 ID)来完成上述操作。或者将:first-childand:last-child选择器与+兄弟)选择器结合使用。像这样的东西:

table > img:first-child{ /* css properties */ }                     /* first  child */
table > img:first-child + img{ /* css properties */ }               /* second child */
table > img:first-child + img + img { /* css properties */ }        /* third  child */
table > img:first-child + img + img + img { /* css properties */ }  /* fourth child */
table > img:last-child { /* css properties */ }                     /* fifth  child */

有关更多信息,请查看此链接

我希望您了解 CSS,因为您没有在代码中的任何地方使用过 :)

于 2012-09-28T11:27:39.307 回答
2
a:visited img ,a:active img
{
content:url('change img link as you want);
}
于 2012-09-28T11:32:12.290 回答
0

两种选择:

JavaScript 解决方案:

var links = document.getElementsByTagName("a");
var n = links.length;
for(var i = 0; i < n; i ++) {
    var cur = links[i];
    if(cur.getAttribute("href") == window.location) {
        cur.parentNode.childNodes[1].src = "http://i.imgur.com/newimagesrc.png";
    }
}

纯 CSS 解决方案:

不使用img标签,而是使用 adiv和 a background-image,HTML 看起来像:

<table width="100%">
    <tr>
        <td align="left"><a href="http://pinkmodels.16mb.com/">
            <div class = "image first"></div>
        </a></td>

CSS:

a:active > .image.first {
     background-image: url(newimageurl.png);
}
于 2012-09-28T11:32:31.870 回答