我有一个像这样的简单图像:
<img src="/assets/missing.png">
现在我想要的是能够将鼠标悬停在图像上,并在其上显示一个带有大“x”的透明黑色叠加层。是否可以只使用CSS3或者我需要Javascript吗?如果是这样的话?
我有点工作,但我有一个似乎无法修复的问题。这是一个截图:
正如你所看到的,有一部分在顶部缺失。这是我的css:
.image {
padding: 0px;
display: inline-block;
vertical-align: middle;
max-height: 150px;
max-width: 150px;
margin: 15px;
position:relative;
}
.image img {
width:100%;
vertical-align:top;
}
.image:after {
content:'\A';
position:absolute;
width:100%; height:100%;
top:0; left:0;
background:rgba(0,0,0,0.6);
opacity:0;
transition: all 0.5s;
-webkit-transition: all 0.5s;
}
.image:hover:after {
opacity:1;
}
答案 0 :(得分:2)
看看下面的小提琴。我希望它可以提供帮助。 http://jsfiddle.net/somy_taheri/93y6hwjk/1/
<html>
<div class="outer">
<img src="http://placekitten.com/g/200/300">
<div class="overlay">
<p class="text">x</p>
</div>
</div>
</html>
<style>
.outer {
position:relative;
width: 200px;
height: 300px;
}
.overlay {
display: none;
}
.outer:hover .overlay {
display: block;
position: absolute;
width: 100%;
height: 100%;
background: black;
opacity: 0.7;
top: 0;
}
.text {
position: absolute;
top: 50%;
left: 50%;
transform:translate(-50%, -50%);
color:white;
}
</style>
答案 1 :(得分:0)
看看这个。
HTML:
<div class="div">
<div class='overlay'><p>X</p></div>
<img src="http://fc02.deviantart.net/fs71/f/2012/157/c/a/watch_dogs___wallpaper__2_by_danielskrzypon-d52hvi1.png"/>
</div>
CSS:
.div{
height:400px;
width:400px;
float:left;
cursor:pointer;
}
img{
height:400px;
width:400px;
}
.overlay{
height:400px;
width:400px;
position:absolute;
background:rgba(0,153,255,.8);
text-align:center;
display:none;
}
.overlay p{
color:white;
line-height:400px;
font-size:80px;
margin:0;
}
查询:
$(document).ready(function(){
$(".div").stop().mouseenter(function(){
$(".overlay").fadeIn('slow');
});
$(".div").stop().mouseleave(function(){
$(".overlay").fadeOut('slow');
});
})
看一看。 JSFiddle:http://jsfiddle.net/u5ka7Lq4/19/