Ant Design 的 Icon,是在"确定"和"自然"的设计价值观影响下的一套美观、一致、易用、便于延展的图标体系;
注:antd 设计价值观 https://ant.design/docs/spec/values-cn
图1:Ant Design 的 Icon(线框风格)
图2:Ant Design 的 Icon(填充风格)
图3:Ant Design 的 Icon(双色风格)
—— https://ant.design/components/icon-cn/
1. antd 的图标什么格式?
Ant Design 的 Icon 使用的是 SVG 格式图标;
—— 《antd 官网》
注:为什么选 SVG 而不是 IconFont
2. antd 的图标基本规则?
2.1. 图标主题风格(theme)
2.2. 设计尺寸
3. 如何使用 antd 的 Icon?
3.1. 常规用法
直接通过 <Icon/> 的 type 和 theme 指定图标。
3.2. 引用 iconfont.cn 中的定制图标
3.3. 自行引入 SVG 图标
<Icon/> 标签也可以通过 component 引入自定义的 SVG React 组件;
注:svgr 可以完成 svg 文件到 react 组件的转换;
4. SVG 基本原理?
SVG (Scalable Vector Graphics)是一种基于 XML 语法的矢量图像格式(怎么放大都不失真的那种...)。
图:用 SVG 画了个小矩形
SVG 绘图、坐标系、动画相关知识
给大家安利下面这个教程
慕课 SVG 教程网址:
走进SVG:https://www.imooc.com/learn/143
5. antd 的 Icon 组件构成?
Ant Design 的 Icon 由 4 部分构成:
下面重点分析
icons、icons-react、icon
这3个项目的源码
6. ant-design-icons/icons
6.1. 用途、目录结构
6.2. 关键数据结构
6.3. 核心逻辑分析
7. ant-design-icons/icons-react
7.1. 用途、目录结构
icons-react 用于将 IconDefinition 渲染为 SVG;
7.2. 核心逻辑分析
8. ant-design/icon
8.1. 用途、目录结构
8.2. 整合 icons、icons-react 原理分析
8.3. createFromIconfontCN 原理分析
参考:
svg 视频教程: https://www.imooc.com/learn/143 svgo、svgr 项目地址: https://github.com/svg/svgo https://github.com/smooth-code/svgr ant-design、ant-design-icons 项目地址: https://github.com/ant-design/ant-design-icons https://github.com/ant-design/ant-design/ svg 相关文章: https://css-tricks.com/svg-symbol-good-choice-icons/ https://io-meter.com/2014/07/20/replace-icon-fonts-with-svg/