沃梦达 / IT编程 / 前端开发 / 正文

浅谈CSS不规则边框的生成方案

本文将介绍一种CSS配合SVG滤镜实现各种不规则图形添加边框的小技巧,感兴趣的同学,可以参考下。

通过 feFlood 中的 flood-color="green",即可控制生成的边框(图块)的颜色,这里设置为了绿色。应用到各个图形上的效果如下:

总结

简单的总结一下:

  • 使用 drop-shadow 可以实现给不规则图形添加阴影,但是无法实现给不规则图形添加实体不带模糊的边框
  • 使用 feMorphology SVG 滤镜可以实现给给不规则图形添加边框效果,通过控制 radius="1" 可以调节边框的大小
  • 使用 feMorphology 辅以 feFlood 和 feComposite 滤镜改变边框颜色
  • 通过 CSS Filter 的 url 模式,可以快速的将 SVG 滤镜引入 HTML 元素,例如 filter: url(#outline)

值得注意的是,由于图形高宽不是 1:1 的,并且 feMorphology 的 dilate 模式也不会根据元素的高宽等比例的扩张,所以生成的边框是不一定在各处的均匀相等的,而 feMorphology 的 radius 属性可以传入两个值,使用空格分离,分别表示横向与纵向的扩张大小,实际使用的时候可以微调一下。

本文更多的是提供一种不规则边框的生成方案思路,当然,具体遇到这种情况大部分还是会以切图为主,不过多了解掌握一种可行方法也不是坏事。

以上就是浅谈CSS不规则边框的生成方案的详细内容,更多关于CSS不规则边框的生成方案的资料请关注编程学习网其它相关文章!

本文标题为:浅谈CSS不规则边框的生成方案