html - 如何使用 CSS 在悬停时创建此透明图像叠加层?

标签 html css image overlay transparent

我正在寻找重现 ( see this image ) 图像悬停效果的建议。我的问题是我的图像是流畅的,而且我还没有真正找到任何关于该主题与叠加相结合的好教程。

我假设我必须创建一个透明的 png(白色区域 + 圆圈),它在悬停时覆盖图像,然后覆盖它的文本?这一切都需要根据图像本身相应地调整大小。 此外,上边框不是图像的一部分,它是用 CSS 生成的,如果可能的话我不希望它被覆盖。

谁能给我指明正确的方向,或者如果有更好的实现方式可以提出建议?我有点迷路了。

提前致谢。 :)

最佳答案

如果图像将包含在具有已定义宽度的 div 中,您可以将绝对定位的 div 添加到包含将充当叠加层的 div 的那个。 假设此代码段并且叠加层的不透明度设置为零

<div class="picholder">
    <img class="fancypics" src=http://placehold.it/500x650></img>
    <div class="overlay"><p class="text_box">Hello World!</p></div>
</div>

悬停效果的CSS是

.picholder:hover .overlay{opacity:1;}
.picholder:hover .fancypics{opacity:0.7;}

这应该会产生悬停效果,我相信您会想要的。下面的 css 应该将叠加层和其他一些东西居中。见here有关垂直和水平居中 div 的更多信息

.overlay {
  bottom: 0;left: 0; top: 0; right: 0;
  height: 150px;
  width: 150px;
  margin: auto;
  position: absolute;
  background-color:#3f3f3f;
  border-radius: 50%;
  opacity:0;
}
.fancypics{width:100%;}
.text_box{
  color:white;
  weight:bold;
  font-size:2em;
  padding:10px;
  padding-bottom:50%;
  text-align:center;
}

当然还有 fiddle

关于html - 如何使用 CSS 在悬停时创建此透明图像叠加层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21177880/

相关文章:

html - 表单元素兼容性问题

javascript - 如何在小滚动条中给 div 元素一个百分比高度?

html - 如何在语义 UI 中使用堆叠段?

html - 如何使图像在 flex 容器中占据最大空间?

image - 仅使用图像本身和纯 CSS 对图像进行圆形 mask

jquery - 如何在无法通过类、ID 等引用它的情况下使用 jQuery 获取元素

python - 如何从 python 中的 HTML 表格中的特定单元格获取数据?

html - 在 Bootstrap 3 中切换两个字段

java - 将 png 图像添加到 java 小程序

java - Android - vector 图像质量下降?