目录 8 个小节目录问题场景私货——Icon-库主流实现方式Icon FontsSVG FontsSVG SymbolUnicode Icons结语

如何调整基于 SVG 的 ICON 库粗细度

本文主要记录调整基于 SVG 实现的 ICON 库粗细度的方法,并简单介绍几种主流的 Icon 实现方式。

请指出文中任何不严谨之处,感谢!


目录

  1. 问题场景
  2. Icon 库主流实现方式
  3. 结语

问题场景

在迁移到基于 SVG 的新组件库时,面临无法直接控制图标粗细的挑战:

  • 基于 font:通过 font-weight 控制。
  • 基于 SVG:需要修改 strokestroke-width 属性。

场景示例

<div class="dad">
  <div class="son">
    <Icon class="icon" />
  </div>
</div>

CSS

.icon {
  font-weight: bold;
}

对于 SVG 图标,修改 `stroke` 和 `stroke-width` 属性来调整粗细:

.icon svg {
  stroke: black; // 描边颜色
  stroke-width: 2; // 描边粗度
}

私货——Icon-库主流实现方式

Icon Fonts

  • 优点
    • 简单易用,兼容性好。
    • 方便使用 `font-size` 等属性修改样式。
  • 缺点
    • 容易导致文件膨胀。
    • 在高分辨率显示上易失真。

SVG Fonts

  • 优点
    • 不失真,可自由缩放。
    • 支持 CSS 和 JS 操作。
  • 缺点
    • 文件大小可能较大。
    • 嵌入 HTML 时代码较长。

SVG Symbol

  • 优点
    • 高可复用性。
  • 缺点
    • 不支持外部引用。
    • 管理大型库时挑战较大。

Unicode Icons

  • 优点
    • 轻量级,兼容性好。
  • 缺点
    • 类型有限,不适合复杂图案。
    • 不同平台表现可能不一致。

结语

本文主要记录了如何通过调整 SVG 图标的 stroke 属性来控制粗细度。欢迎在评论区提供反馈!
另外,对于svg标签,他内部还有来构建,将stroke放到path上同样能够起到作用~

COMMENTS · 10

哈哈

666666

666666

哈哈

哈哈

你怎么会登陆的,这个登陆做的这么难用

博主本人

冒泡

臭狗一号

hello

aipeng

博主小哥哥好帅啊,没对象的话可以认识一下吗

博主本人

这个臭狗又是谁,我懵逼了

博主本人

好好好,回到原始互联网时代了是吧

genshinlover

太强了太强了

女王大人

不错