【问题标题】:Radial gradient opacity on background image背景图像上的径向渐变不透明度
【发布时间】:2020-01-24 01:02:27
【问题描述】:

我需要对重复的背景图像应用不透明度的径向渐变。

建议的在线解决方案建议在图像上添加另一个纯色渐变,从而产生褪色背景图像的错觉。但是,这种纯色渐变解决方案不适用于我的情况,因为背景不是纯色,而是线性渐变。

这是一个夸张的例子,说明我正在尝试使用明亮的红色重复背景图像和灰色到黑色渐变背景来实现。

我如何实际上淡化背景图像?

【问题讨论】:

    标签: css background-image


    【解决方案1】:

    使用mask

    .box {
      width:300px;
      height:200px;
      background:url(https://picsum.photos/id/10/600/800) center/cover;
      -webkit-mask:radial-gradient(circle at 20% 40%, transparent , #fff 50%);
              mask:radial-gradient(circle at 20% 40%, transparent , #fff 50%);
    }
    
    body {
     background:pink;
    }
    <div class="box">
    
    </div>

    【讨论】:

    • 哇,真快!完美运行,我以前从未听说过 CSS 中的掩码。非常感谢!
    • 这似乎也掩盖了 div 内的任何内容。它不仅仅是背景图像上的蒙版。有没有办法让这个 div 中的其他元素仍然显示?
    • @mrg95 使用伪元素作为背景层并对其应用蒙版。将其视为不透明度,如果应用它,您将影响所有内容
    • @mrg95 检查这个伪元素技巧:stackoverflow.com/a/7241440/8620333
    • 完美运行!你是个巫师。再次感谢:)
    猜你喜欢
    • 2015-06-15
    • 1970-01-01
    • 2011-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-06
    相关资源
    最近更新 更多