纯CSS图像悬停而不使用背景图像

时间:2013-08-09 18:46:02

标签: html css

我试图在不使用背景图像的情况下在悬停/翻转时进行纯CSS图像更改。到目前为止,我有一个图像,当您翻转该图像时,会出现另一个图像。这是CSS:

#hidden {
display: none;
}

#visible:hover + #hidden {
display: block;
}

因此,当您翻转#visible div时,会出现#hidden div。这是jsFiddle:http://jsfiddle.net/MNyzd/1/

这很好用,但这并不是我想要完成的。我想要交换图像。因此,当您翻转#visible时,它应该消失而不是保持可见。我的第一个想法是在悬停(#visible)时将display:none div设为#visible:hover display:none;,但这不起作用。

那么有没有人知道如何使用这种方法将其成功转换为传统的图像悬停/交换?任何帮助将不胜感激,再次,这里是jsFiddle ... http://jsfiddle.net/MNyzd/1/

3 个答案:

答案 0 :(得分:7)

使用悬停在其上的容器:

http://jsfiddle.net/MNyzd/8/

.hidden {
    display: none;
}

.container:hover .visible
{
    display: none;
}

.container:hover .hidden {
    display: block;
}

另见答案:Hide / show content via CSS:hover (or JS if need be)

答案 1 :(得分:3)

喜欢这个?

<强> jsFiddle

div {
    cursor:pointer;
    overflow:hidden;
    width:300px;
}
div > img:nth-child(2), div:hover > img:nth-child(1) {
    display:none;
}
div:hover > img:nth-child(2) {
    display:block;
}

答案 2 :(得分:0)

http://jsfiddle.net/MNyzd/4/

编辑:代码:

#hidden {
display: none;
position: absolute; 
top: 8px;
left: 8px; 
}

#visible:hover + #hidden {
display: block;
}

#hidden, #visible {
width:300px;
height:300px;
}

<div id="visible"><img src="http://b.vimeocdn.com/ps/372/159/3721596_300.jpg"></div>
<div id="hidden"><img src="http://yuccan.com/wp-content/uploads/2013/04/cool-eez-spaced2.png"></div>