xml - 任何字形图标都可以只是一条路径吗?
问题描述
我说的是 svg 格式的单色图标。stackoverflow 网站右上角的图标就是一个例子。
我注意到 twitter bootstrap 上的所有图标都只是一个路径(即使它们由许多元素组成): https ://getbootstrap.com/docs/3.3/components/
<path d="M250 700h800q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
但其他图标集如: https ://glyph.smarticons.co/
他们的字形由多个元素组成:
<path d="M7.984,0.053 C3.599,0.053 0.045,3.614 0.045,8.006 C0.045,12.398 3.6,15.959 7.984,15.959 C12.368,15.959 15.923,12.398 15.923,8.006 C15.923,3.614 12.369,0.053 7.984,0.053 L7.984,0.053 Z M7.49,2.045 C8.328,2.045 9.009,2.699 9.009,3.505 C9.009,4.311 8.328,4.965 7.49,4.965 C6.65,4.965 5.971,4.311 5.971,3.505 C5.971,2.699 6.65,2.045 7.49,2.045 L7.49,2.045 Z M8.035,14.908 C4.984,14.908 2.342,10.918 8.101,7.984 C13.357,5.308 10.904,0.744 8.035,1.008 C12.41,1.008 14.974,4.119 14.974,7.958 C14.975,11.797 11.867,14.908 8.035,14.908 L8.035,14.908 Z" class="si-glyph-fill"></path>
<ellipse cx="8.493" cy="11.445" rx="1.493" ry="1.445" class="si-glyph-fill"></ellipse>
我注意到使用矢量程序可以将对象转换为路径,然后组合所有路径。
但我想知道理论上是否有可能每个字形图标都可以通过这种方式转换为一条路径?或者有没有图标不能出现的情况?
解决方案
这是一个愚蠢的例子:你有 2 个简单的 svg 图像。第一个只有一条路径。对于第二个,我从第一个 SVG 中获取了点,并制作了 2 条路径。2张图片看起来很像。
svg{display:inline-block;border:1px,solid;}
path{fill:none; stroke:black;}
<svg viewBox="0 0 300 300" width="300">
<path id="test" d="M50,50L250,100L150,200L30,250z
M100,100 L120 180L170,170z"/>
</svg>
<svg viewBox="0 0 300 300" width="300">
<path id="test" d="M50,50L250,100L150,200L30,250z"/>
<path id="test" d="M100,100 L120 180L170,170z" />
</svg>
现在删除笔触并让填充为黑色:
svg{border:1px solid;display:inline-block;}
<svg viewBox="0 0 300 300" width="300">
<path id="test" d="M50,50L250,100L150,200L30,250z
M100,100 L120 180L170,170z" />
</svg>
<svg viewBox="0 0 300 300" width="300">
<path id="test" d="M50,50L250,100L150,200L30,250z"/>
<path id="test" d="M100,100 L120 180L170,170z" />
</svg>
推荐阅读
- javascript - 脚本在 PHP5 > PHP7.2 之后停止工作?
- python - 在 /usr/bin 中为 python 创建一个链接?
- c# - 找不到 ConfigurationErrorsException nuget 包或程序集 .net Core 2.2
- big-o - 为什么这个片段是 O(n)?
- reactjs - npm WARN deprecated circular-json@0.3.3: CircularJSON 仅在维护中,flatted 是它的继任者
- python - python:在没有for循环的情况下标记元组列表
- excel - 仅打印选定的工作表...但活动工作表继续打印
- javascript - Chart.Js 滞后:是否有任何开源工具可以处理 8000 万个值?
- git - 在 Git 中查看删除之前恢复的文件的历史记录
- javascript - JavaScript 未按预期在 HTML 网站上显示