如何在 css 中创建焦点模糊效果?

问题描述 投票:0回答:2

我正在尝试用模糊创建焦点效果,但我遇到了一个大问题。 :)

我需要这样的东西:

Focus effect

但是互联网上的所有例子都是关于固定位置的块。如果元素的位置是绝对的,则 Clip-path 和 radial-gradient 不起作用。我的块有 700 像素的高度,我可以滚动它。

我达到的唯一效果:

No blur effect

但我想看到模糊的文字。

可能吗?

这是我尝试过的(简短版):

<div class="black-promo">
  <div class="black-promo__blur"></div>
</div>

.black-promo {
  background: black;
  position: relative;
  height: 700px;


  &__blur {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
    background: radial-gradient(circle, #0000 150px, rgba(45, 45, 45, 0.9) 300px);
  }
}

尝试数字 2:

https://codepen.io/Nnekkka/pen/xxagZQQ

css blur
2个回答
1
投票

通常你想要做的是在叠加层元素上切出一个洞,然后在叠加层上应用

backdrop-filter
属性,以模糊它下面的内容。这是一个使用
mask
属性切出一个洞的示例。请注意,Chrome 需要一个供应商前缀 (
-webkit-
)。

https://codepen.io/andrewray/pen/JjaEGOa

.div-with-hole {
  position:absolute;
  top:0;
  height: 100vh;
  -webkit-mask: radial-gradient(50px, #0000 98%, #000);
          mask: radial-gradient(50px, #0000 98%, #000);
  width: 100%;
  backdrop-filter: blur(10px);
  background:rgba(255, 0, 0, 0.1);
}


0
投票

使用这个 CSS: 背景滤镜:模糊(3px);

© www.soinside.com 2019 - 2024. All rights reserved.