gpt4 book ai didi

html - CSS — 如何模糊 SVG 蒙版?

转载 作者:行者123 更新时间:2023-12-02 20:10:28 26 4
gpt4 key购买 nike

我尝试模糊 SVG 剪辑路径,但没有成功。我尝试了不同的解决方案,但没有一个有效。我不确定除了 filter 之外是否还有其他解决方案。

伪代码

  • SVG 剪辑路径应显示下面的文本
  • SVG 的边缘应模糊

提前谢谢您。

HTML

    .wrapper {
display: flex;
justify-content: center;
align-items: center;
position: relative;
}

.h1, blur {
width: 100vw;
height: 100vh;
}

.h1 {
position: absolute;
top: 0;
left: 0;
margin: 0;
padding: 0;
font-size: 4em;
clip-path: url(#svgPath);
background-color: blue;
}

.blur {
position: absolute;
top: 0;
left: 0;
margin: 0;
padding: 0;
font-size: 4em;
color: blue;
background-color: white;
filter: blur(8px)
}
<div class="wrapper">
<h1 class="blur">
Our principles inform everything we do. Whether you're preparing content, designing an interface or developing an entire service, start by reading these.
</h1>
<h1 class="h1">
Our principles inform everything we do. Whether you're preparing content, designing an interface or developing an entire service, start by reading these.
</h1>
</div>

<svg id="googlesMain" height="0" width="0">
<defs>
<filter id="f1" x="0" y="0">
<feGaussianBlur in="SourceGraphic" stdDeviation="15" />
</filter>
</defs>
<clipPath id="svgPath">
<circle id="clipPath" cx="250" cy="250" r="250"/>
</clipPath>
</svg>

最佳答案

好的,这是一种使用 radial-gradient() 作为 mask-image 的方法。

var h1 = document.getElementById('masked');

document.addEventListener('mousemove', mouseListen, false);

function mouseListen(e){
setMaskPos(e.clientX,e.clientY);
}

function setMaskPos(x,y) {
h1.setAttribute("style", "-webkit-mask-image: radial-gradient(circle at " + x + "px " + y + "px, black 0px, black 200px, transparent 250px)");
}

// Initialise the mask off screen
setMaskPos(-999,0);
.wrapper {
display: flex;
justify-content: center;
align-items: center;
position: relative;
}

.h1, blur {
width: 100vw;
height: 100vh;
}

.h1 {
position: absolute;
top: 0;
left: 0;
margin: 0;
padding: 0;
font-size: 4em;
background-color: white;
}

.blur {
position: absolute;
top: 0;
left: 0;
margin: 0;
padding: 0;
font-size: 4em;
background-color: white;
filter: blur(8px)
}
<div class="wrapper">
<h1 class="blur">
Our principles inform everything we do. Whether you're preparing content, designing an interface or developing an entire service, start by reading these.
</h1>
<h1 id="masked" class="h1">
Our principles inform everything we do. Whether you're preparing content, designing an interface or developing an entire service, start by reading these.
</h1>
</div>

关于html - CSS — 如何模糊 SVG 蒙版?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53720920/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com