如何在图像上制作透明叠加层

Nic*_*art 4 html css

我有一个像这样的简单图像:

<img src="/assets/missing.png">
Run Code Online (Sandbox Code Playgroud)

现在我想要的是能够将鼠标悬停在图像上并出现一个透明的黑色覆盖层,上面有一个大的“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;
}
Run Code Online (Sandbox Code Playgroud)

小智 7

看看下面的小提琴。我希望它能有所帮助。 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> 
Run Code Online (Sandbox Code Playgroud)