css 使用blur,实现背景色高斯模糊,但不影响背景上的内容
实现效果
实现原理
1.filter:blur()
2.伪元素设置,不影响子元素显示
<!-- 库位使用率 -->
<div class="bkPart statusPart">
<div class="co-title">库位使用率</div>
<div class="pickPos">
<div class="pro-num">{{ usePosPercent }}%</div>
<el-progress :text-inside="true" :stroke-width="30" :percentage="usePosPercent"></el-progress>
</div>
</div>
正确的写法:
将元素背景相关的设置用伪元素::before
去定义,然后给伪元素设置模糊 blur
即可,下面的代码及运行效果可以看到,极光这两个字没有透明度
.bkPart::before {
background: rgba(220, 232, 244, 0.05);
;
left: 0;
border: 1px solid rgba(255, 255, 255, 0.2);
filter: blur(4px);
content: '';
width: 100%;
height: 100%;
position: absolute;
}
.bkPart {
font-size: 12px;
position: relative;
border-radius: 6px;
width: 100%;
margin: 0 auto;
box-sizing: border-box;
color: #fff;
}
参考链接