html背景图片半透明遮罩,巧用CSS cross-fade()实现背景图像半透明效果

本文介绍了如何使用CSS cross-fade()函数实现背景图片半透明效果,避免影响元素内部内容的不透明性。通过创建一个透明图片与目标背景图片混合,实现了背景图的半透明,同时讨论了其在移动端的良好兼容性。
摘要由CSDN通过智能技术生成

一、需求描述

54efcbc857fc939b172d2ce7c093b103.png

某元素,希望background-image背景图片是半透明的,但是,元素里面的其他内容,例如文字,图标之类的还是不透明。

如果是纯色背景或者是CSS渐变背景,很好处理,使用rgba或者hsla颜色色值即可。

但是,如果是url()背景图像,似乎就无能为力了。

如果是个内联的图像那很好处理,无论是filter滤镜、mask遮罩还是opacity透明度设置都可以实现我们的效果,但是偏偏这里是背景图像,所有前面提到的这些方法都会影响文字的正常显示。

我估计很多人会想到使用::before/::after伪元素实现,例如:

.box {

position: relative;

z-index: 0;

}

.box::before {

content: '';

position: absolute;

left: 0; right: 0; top: 0; bottom: 0;

background: url(xxx.jpg) no-repeat center / contain;

z-index: -1;

opacity: .5;

}

实时效果如下(如果没有效果请访问原文 作者张鑫旭)࿱

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值