我已经通过类似标题解决了很多已解决的问题,但我尝试的任何内容似乎都没有。
我希望ava.png
图片重定向到另一个页面,但在悬停时我想要显示:before
图片(ava_background_hoover.png
)。
我可能会说这一切都错了,但这是我到目前为止所做的:
#slide1 {
position: relative;
margin-left: 147px;
margin-top: 0px;
z-index: 100;
}
#slide1:hover {
position: relative;
}
#slide1:hover:before {
content: url("https://www.upload.ee/image/6050956/ava_background_hoover.png");
display: block;
position: absolute;
z-index: -1;
}
#slide2 {
opacity: 1;
position: relative;
z-index: 2;
margin-left: 7px;
margin-top: 0px;
}
#slide3 {
z-index: -1;
position: absolute;
}

<section id="header">
<div class="inner">
<img id="slide1" src="https://www.upload.ee/image/6050955/ava.png"/><img id="slide2" src="https://www.upload.ee/image/6050954/arrow.png" width="140" height="160" alt=""/>
</div>
</section>
&#13;
答案 0 :(得分:3)
您可以将#slide1:before
的内容设置为默认图片。然后,在:hover
上,将content
属性更改为悬停图片。
如果您这样做,则需要将img
更改为div
(或span
,而不是img
)。
#slide1 {
position: relative;
margin-left: 147px;
margin-top: 0px;
z-index: 100;
display:inline-block;
}
#slide1:before {
content: url("https://www.upload.ee/image/6050955/ava.png");
}
#slide1:hover {
position: relative;
}
#slide1:hover:after {
content: url("https://www.upload.ee/image/6050956/ava_background_hoover.png");
display: block;
position: absolute;
z-index: -1;
}
#slide2 {
opacity: 1;
position: relative;
z-index: 2;
margin-left: 7px;
margin-top: 0px;
}
#slide3 {
z-index: -1;
position: absolute;
}
<section id="header">
<div class="inner">
<a id="slide1" href="http://google.com" target="_blank"></a>
<img id="slide2" src="https://www.upload.ee/image/6050954/arrow.png" width="140" height="160" alt=""/>
</div>
</section>
工作演示,包括链接:javadoc of ComboBox
答案 1 :(得分:1)
:before
和:after
pseudo-element
用于在元素内容之前或之后插入内容。 img
没有内容。因此,您无法在pseudo-elements
上使用img
。
相反,您应该将<div>
与#slide1
和#slide2
一起使用,img
或background-img
使用divs
,你选择。
我在下面做了一个简单的例子。单击以显示片段。让我知道它是否有帮助
P.S。你可以根据自己的需要定位:before
。我猜对了你的想法
#slide1,#slide2 { display:inline-block}
#slide1 {
position: relative;
margin-left: 147px;
margin-top: 0px;
z-index: 100;
}
#slide1:hover {
position: relative;
}
#slide1:hover:before {
content: url("https://www.upload.ee/image/6050956/ava_background_hoover.png");
display: block;
position: absolute;
z-index: 1;
right: -150%;
bottom: -150%;
}
&#13;
<section id="header">
<div class="inner">
<div id="slide1">
<img src="https://www.upload.ee/image/6050955/ava.png"/>
</div>
<div id="slide2">
<img src="https://www.upload.ee/image/6050954/arrow.png" width="140" height="160" alt=""/>
</div>
</div>
</section>
&#13;