本页面解释了 Material Design Icons 仓库中提供的两个图标集——Material Icons 和 Material Symbols 之间的主要区别。内容涵盖了技术差异、字体技术、自定义能力和使用注意事项,以帮助开发者根据自身需求选择合适的图标系统。有关实现细节,请参阅 使用 Material Symbols 和 使用 Material Icons。
Google 在此仓库中维护着两个不同的图标集:
两个图标集共享相同的底层设计,但使用了不同的字体技术,提供了不同的功能和灵活性。
来源:README.md3-5 README.md50-53 README.md75-78
两个图标集最根本的区别在于所使用的字体技术
Material Icons 使用传统的字体技术,每个样式变体都有单独的字体文件;而 Material Symbols 使用可变字体技术,允许在单个字体文件中沿多个设计轴进行连续变化。
来源:README.md75-98 README.md50-74 variablefont/MaterialSymbolsRounded[FILL,GRAD,opsz,wght].ttf:60-65
| Material Icons | Material Symbols |
|---|---|
| 填充 (Filled) | 描边 (Outlined, FILL=1) |
| 描边 | 描边 (Outlined, FILL=0) |
| 圆形 (Round) | 圆角 |
| 锐利 | 锐利 |
| 双色调 | 不可用 |
Material Icons 包含 Material Symbols 中不存在的“双色调”样式。反之,Material Symbols 可以通过调整 FILL 参数来生成任何样式的填充版本。
来源:README.md79-84 README.md55-58
Material Symbols 提供了四个可自定义的设计轴:
| 参数 | 范围 | 默认 | 描述 |
|---|---|---|---|
| FILL(填充) | 0-1 | 0 | 控制图标是填充(1)还是描边(0) |
| GRAD(字重/梯度) | -25 到 200 | 0 | 控制“字重”或粗细;-25 适用于深色主题 |
| opsz(光学尺寸) | 20-48像素 | 24 | 为不同显示尺寸调整光学尺寸 |
| wght(字重) | 100-700 | 400 | 控制字体粗细,从细(100)到粗(700) |
Material Icons 不提供这些自定义参数——每个样式都是固定的。
来源:README.md60-64 variablefont/MaterialSymbolsRounded[FILL,GRAD,opsz,wght].ttf:60-64
该仓库将两个图标集组织在不同的目录中:
font 目录下(例如,MaterialIcons-Regular.ttf)variablefont 目录下(例如,MaterialSymbolsRounded[FILL,GRAD,opsz,wght].ttf)Material Symbols 文件的命名约定包含方括号中的四个可变轴。
来源:README.md66-69 README.md86-91 font/MaterialIcons-Regular.ttf variablefont/MaterialSymbolsRounded[FILL,GRAD,opsz,wght].ttf
来源:README.md70-74 README.md93-98
对于 Web 应用程序,实现方法有所不同。
Material Icons
Material Symbols
关键区别在于可以使用 font-variation-settings 属性配合 Material Symbols 来自定义外观。
| 功能 | Material Icons | Material Symbols |
|---|---|---|
| 状态 | 旧版,未更新 | 当前,积极维护 |
| 技术 | 传统字体 | 可变字体 |
| 样式变体 | 5 种独立样式 | 3 种基础样式,可变填充 |
| 定制 | 固定设计 | 4 个可调参数 |
| 字重选项 | 仅常规 | 100-700(连续) |
| 光学尺寸 | 固定 | 20-48px(可调) |
| 字形级别控制 | 否 | 是(-25 至 200) |
| 填充动画 | 否 | 是 |
| 双色调选项 | 是 | 否 |
| 目录 | font, android, ios 等 | symbols, variablefont |
| 文件大小效率 | 需要多个文件 | 更少文件,更多选项 |
最终选择 Material Icons 还是 Material Symbols 取决于您的项目需求。对于大多数新项目,Material Symbols 提供了更大的灵活性并且正在积极维护,因此是推荐的选择,除非您特别需要 Material Icons 中才有的功能。
刷新此 Wiki
最后索引时间2025 年 4 月 18 日(941fa9)