通过设置较大的背景图像突出显示img标签

问题描述:

我有两个图像,一个是textbox.png,大小为16X16px,另一个是IconBG.png,带有24X24像素。 我定义一个img标签为通过设置较大的背景图像突出显示img标签

<img id="g_TextButton" src="../icons/textbox.png" alt="Text" title="Text" onclick="javascript:void(selectTool(this, 5))"> 

在此点击,我作为如下─

function selectTool(objThis) { 
    //----some code 
    objThis.style.backgroundImage="url('../icons/IconBG.png')"; 


} 

设置背景IMG img标签但是随着img标签大小不是预先定义的,它最初将占用16px。选择后,当我设置24像素的背景图像时,尺寸仍然是16px。我无法将img标签大小初始化为24px bz,即使将16px图标重置为24px。

所以我的要求是有一个大小为24X24的占位符。并且最初在其中放置一个16X16的图像。 Onclick添加24X24px的背景图片。

请帮忙。

所以,你可以只用CSS轻松实现这一点:

HTML:

<div id="container"> 
    <img src="../icons/textbox.png" /> 
</div> 

CSS:

#container { 
    height: 24px; 
    width: 24px; 
    position: relative; 
} 

#container:hover { 
    background-image: url('../icons/IconBG.png'); 
} 

#container img { 
    position: absolute; 
    top: 0; 
    bottom: 0; 
    left: 0; 
    right: 0; 
    margin: auto; 
} 

而且好处是,该:悬停将加载第二张图片(img24px)onload而不是第一次调用,就像在JS中默认会发生的那样。

+0

这工作绝对好。但我们如何设置background-image:url('../ icons/IconBG.png');内联选择的img ??? – user1071096 2013-03-01 09:36:58

+0

现在它正在悬停。但它应该保留,直到它被设置为空或空背景 – user1071096 2013-03-01 09:38:22

+0

objThis.parentNode.style.backgroundImage =“url('../ icons/IconBG.png')”;随着选择,我可以突出显示,直到我删除背景图像。非常感谢你。:-) :-) – user1071096 2013-03-01 10:39:20