html - 如何用颜色创建叠加效果

标签 html css

我想知道如何进行叠加,但前面有颜色。 例如:

.hover {
  opacity: 0.3;
  filter: alpha(opacity=30);
}

.hover:hover {
  opacity: 1;
  filter: alpha(opacity=100);
}
<div class="col-sm-4  hover ">
  <img src="https://placehold.it/250x250?text=IMAGEE" class="img-responsive " alt="Image">
</div>

它以一些不透明度开始,我希望图像顶部的不透明度为红色。我怎样才能实现这个目标?

最佳答案

您可以依靠伪元素来创建此叠加层,然后使用 rgba() 轻松更改背景以获得具有任何不透明度的任何颜色:

.hover {
  position: relative;
  display: inline-block;
}

.hover img {
  vertical-align: top;
}

.hover:before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.3);
  transition: 0.5s;
}

.hover:hover::before {
  background: rgba(255, 0, 0, 1);
}
<div class="hover ">
  <img src="https://placehold.it/250x250?text=IMAGEE" class="img-responsive " alt="Image">
</div>

关于html - 如何用颜色创建叠加效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48589480/

相关文章:

javascript - 将 html 表单中的值保持在设定值以下

html - 在浏览器 Firefox 中 span 和它的 pseudo::before 之间重叠

javascript - 使用 CSS 转换或 javascript 缩放元素以动态适应其父元素

jquery - 我需要一个可靠的 jQuery/CSS 选择框插件的建议

css - 给确认按钮一个类时出错 产生错误

javascript - 工具提示不起作用( Bootstrap )

javascript - z-index 在 IE 中不工作

javascript - 如何根据下拉列表动态更改日期字段

CSS - 一行中的文本为 "staying"

javascript - 为什么 100% 高度不会让 canvas 延伸到 div 的底部?