css 用圆形聚光灯创建磨砂玻璃(模糊)背景,突出显示屏幕上的HTML部分

nbysray5  于 2023-06-25  发布在  其他
关注(0)|答案(1)|浏览(156)

我试图创建一个磨砂玻璃(模糊)的背景与一个圆圈形状的一部分,它不模糊,没有成功,这是我得到了迄今为止在沙盒编辑器,但有一个问题,这个实现的领域是圆停留模糊
https://codesandbox.io/s/frosted-glass-background-with-spotlight-fwdhd注意:沙盒是用vue2创建的,但是用vanilla复制是一个简单的问题
我认为它可以用canvas html标签来完成,但我不确定实现它的方法。
有人能帮帮我吗

mu0hgdu0

mu0hgdu01#

你可以在CSS中使用mask-image和CSS filter来实现这一点。
下面的例子使用一个透明的PNG,用一个圆圈作为蒙版,filter属性模糊下面的图像。

img {
  max-width: 100%;
  display: block;
}

.container {
  width: 400px;
  height: 300px;
  margin: 1em auto;
  position: relative;
}

.container img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  -webkit-mask-size: cover;
  mask-size: cover;
  position: absolute;
  top: 0;
  left: 0;
}

.container img.overlay {
  filter: blur(10px);
}

.container img.underlay {
  -webkit-mask-image: url(https://i.imgur.com/l4o4AkX.png);
  mask-image: url(https://i.imgur.com/l4o4AkX.png);
  z-index: 2;
}
<div class="container">
  <img class="underlay" src="https://cdn.glitch.com/04eadd2b-7dd4-43fc-af3d-cff948811986%2Fballoons.jpg?v=1597755892826" alt="Balloons">
  <img class="overlay" src="https://cdn.glitch.com/04eadd2b-7dd4-43fc-af3d-cff948811986%2Fballoons.jpg?v=1597755892826" alt="Balloons">
</div>

相关问题