html - 是否可以在图像上使用半透明的前景色?

标签 html css

我在一个 div 中有几张图片,我试图对这些图片产生影响。基本上,我只是想在图像上添加一个不透明度约为 0.7 的前景色,这样我仍然可以看到图像并产生那种效果。

现在,我环顾 S.O 并找到了一些非常好的解决方案,例如 this one例如,但这与我想要实现的方法不同。

这是我的 HTML

<div class="col colMg">
    <div class="prodImg">
        <img src="images/model1.jpg" alt="" title="" />
        <div class="layer"></div>
    </div>

    <div class="prodImg">
        <img src="images/model2.jpg" alt="" title="" />
    </div>
</div>

请注意我的 HTML 片段中的 layer 类。出于某种原因,它不能与我放在下面的 CSS 一起正常工作。从此处提供的代码来看, 覆盖了我的整个页面,包括其父级 div 中的图像。这就是我现在想要的。我希望它仅覆盖其父 div` 中的图像。

这是我的 CSS

#prodIntro{
    margin-top: 10px;
    width: 50%;
    background-color: red;
    display: block;
    display:visible;
}

.col{
    width: 33%;
    float: left;
}

.colMg{
    margin-right: 0.5%;
}

.prodImg{
    width: 100%;
}

.prodImg img{
    width: 100%;
}
.layer{
    background-color: rgba(248, 247, 216, 0.7);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

    #prodIntro{
        margin-top: 10px;
        width: 50%;
        background-color: red;
        display: block;
        display:visible;
    }
    
    .col{
        width: 33%;
        float: left;
    }
    
    .colMg{
        margin-right: 0.5%;
    }
    
    .prodImg{
        width: 100%;
    }
    
    .prodImg img{
        width: 100%;
    }
    .layer{
        background-color: rgba(248, 247, 216, 0.7);
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    <div class="col colMg">
        <div class="prodImg">
            <img src="images/model1.jpg" alt="" title="" />
            <div class="layer"></div>
        </div>
    
        <div class="prodImg">
            <img src="images/model2.jpg" alt="" title="" />
        </div>
    </div>

感谢任何帮助。 谢谢

最佳答案

您需要将非静态位置(position: static 是大多数(如果不是全部)HTML 元素的默认位置)应用到要定位 .layer 而不是整个文档,因此:

.prodImg{
    position: relative;
    width: 100%;
}

#prodIntro {
  margin-top: 10px;
  width: 50%;
  background-color: red;
  display: block;
  display: visible;
}
.col {
  width: 33%;
  float: left;
}
.colMg {
  margin-right: 0.5%;
}
.prodImg {
  position: relative;
  width: 100%;
}
.prodImg img {
  width: 100%;
}
.layer {
  background-color: rgba(248, 247, 216, 0.7);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
<div class="col colMg">
  <div class="prodImg">
    <img src="images/model1.jpg" alt="" title="" />
    <div class="layer"></div>
  </div>

  <div class="prodImg">
    <img src="images/model2.jpg" alt="" title="" />
  </div>
</div>

关于html - 是否可以在图像上使用半透明的前景色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34181434/

相关文章:

调整应用程序窗口大小后,JavaFX UI 元素悬停样式无法正确呈现

css - 哪些字符允许空格 : pre-wrap to wrap?

javascript - 仅将静态样式分配给每个渲染组件一次

c# - MVC html.raw 生成 "An error occurred while processing your request"

javascript - 如何避免隐藏不应该隐藏的部分?

javascript - 使用 li 选择单选输入按钮?

html - li 元素上的文本阴影转移到子菜单 (CSS)

javascript - 在 html 表的 tbody 中设置滚动时出现问题 - 对齐被破坏

javascript - 更改 Accordion 菜单插件中的链接

javascript - 使用 CSS float 的动态布局宽度