css模糊羽化

在逛 codepen 的时候发现一个有意思的 css 羽化项目
原理是使用了 svg 中的 foreignObject
将 dom 转化为图片来创建一个边缘模糊的遮罩
让原本有backdrop-filter: blur(10px);
的元素产生了羽化的效果
核心代码
.name {
position: absolute;
bottom: 30px;
font-size: 50px;
padding: 5px 15px;
margin: 0;
color: #fff;
backdrop-filter: blur(10px);
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3CforeignObject width='100%25' height='100%25'%3E%3Cbody class='wrap' xmlns='http://www.w3.org/1999/xhtml'%3E%3Cstyle%3E.wrap%7Bbox-sizing:border-box;margin:0;height:100%25;padding:15px%7D.shadow%7Bheight:100%25;background:black;border-radius:10px;box-shadow:0 0 5px black, 0 0 10px black, 0 0 15px black %7D%3C/style%3E%3Cdiv class='shadow'/%3E%3C/body%3E%3C/foreignObject%3E%3C/svg%3E");
}
且这么创建出来的羽化效果可以达到自适应。当然我觉得或许可以用 box-shadow 也可以实现,只不过觉得这种实现方式思路新奇,特此记录 📝。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 安知鱼!
评论
匿名评论
你无需删除空行,直接评论以获取最佳展示效果