【发布时间】:2017-03-07 19:32:30
【问题描述】:
我想在我的图像上设置一个叠加层,当我悬停图像时,一个叠加层会出现在图像上,并且与图像大小相同。当我调整窗口大小时,叠加层应该会自动调整大小。
我尝试了一些 JS 代码,但不起作用。它总是将宽度/高度设置为 0px。
请告诉我如何解决这个问题。
var portImg = document.getElementById("portimg");
var overlay = document.getElementsByClassName("overlay");
var overlayh = overlay.style.height = portImg.clientHeight;
var overlayw = overlay.style.width = portImg.clientWidth;
/*
tried this 1 too
clientHeight + "px";
clientWidth + "px";
*/
.col-sm-6 {
position: relative;
}
.img-container {
width=100%
}
.img-container img {
width=100%
}
.overlay {
position: absolute;
margin-top: 20px;
text-align: center;
}
.overlay:hover {
transform: rotate(0deg);
opacity: .95;
}
<div class="col-sm-6">
<div class="overlay">
</div>
<!-- overlay continer -->
<div class="img-container">
<img id="portimg" src="images/port.jpg" alt="">
</div>
<!-- img container -->
</div>
<!-- col -->
【问题讨论】:
-
你在覆盖什么?
-
在图片上。每当我将鼠标移到所需的 img 上时。样本写在上面。
-
什么你想叠加?文本?另一张图片?
-
这里是截图。 prntscr.com/eh84v6
-
所以你想覆盖额外的内容。 Michael Coker 为您提供了一个非常接近您需要做的答案。如果您对要求有更具体的了解,我相信他会更新他的答案以更准确地反映它们。
标签: javascript jquery html css image