我尝试了其他答案,但没有一个可以与我的特定设置一起使用。我不能使用任何 ul/li 设置,所以请不要这样建议。我试图让一个稍微透明的橙色层出现在图像上。我不能使用绝对定位,这个网站是建立在基础 4 上的,并且是响应式的。
到目前为止,我得到的是图像下方而不是其顶部的背景颜色。最初我还想在 CSS 中完成图像中的绿色条,但我也无法做到这一点。我也无法将图像用作 div 的背景,因为我必须用像素设置高度/宽度,这会破坏响应位。
这是我正在尝试做的图像:
HTML
<div>
<div class="work-button">
<img class="work-hover" src="http://oi41.tinypic.com/118m6fn.jpg" alt="" />
<div class="work-sub">Web Design</div></div>
</div>
CSS
.work-button {
text-align: center;
margin: 7%;
}
.work-hover:hover {
background: rgba(229, 115, 37, 0.7);
transition: all 0.2s ease-in-out;
transform: scale(0);
border-radius: 20%;
}
.work-sub {
text-align: center;
font-family: "Candal", Verdana, sans-serif;
font-size: 1.5em;
color: #fff;
margin-top: -15%;
}
关于答案 的注意事项 所选答案确实有其错误。当您调整页面大小时,叠加层不会随之调整大小。相反,它将保持与页面一起初始化的大小。当您再次刷新页面时,它会再次自我调整。这对用户来说不是问题,但更多的是让我感到烦恼的事情,并且会成为其他开发人员/雇主检查它的问题。无论如何,再次感谢布兰登戴维斯!
** 更新 **
所以似乎我调用了 onresize 函数两次,所以它只是服从第二个函数试图做的事情。
window.onresize = function () {
resizeWorkOverlays();
resizeSmallOverlays();
}
如果您尝试使用此功能两次,这就是我让它工作的方式。不过,我似乎无法成功重复第三次。希望这可以帮助!
最终更新2014 年 8 月 7 日:在此处查看此新结果。从那以后,我为悬停切换到 100% CSS 解决方案!我很快就会在这里发布生成的代码。