iconfont的使用
iconfont使用
1 单个icon使用
直接下载png、svg、ai等放在html中使用
svg
可以通过fill控制颜色
通过width和height控制大小和形状
应用场景
这种情况适合用在图标引用少、以后也不需要特别维护的场景
比如设计师用来坐demo原型,前端临时做个活动页面
<svg t="1595044344437" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
p-id="1950" width="50" height="50">
<path
d="M621.226667 764.586667c-27.306667 10.24-47.786667 17.066667-64.853334 20.48s-34.133333 6.826667-58.026666 6.826666c-34.133333 0-58.026667-6.826667-78.506667-20.48-17.066667-13.653333-27.306667-30.72-27.306667-51.2 0-6.826667 0-17.066667 3.413334-23.893333 0-6.826667 3.413333-17.066667 6.826666-27.306667l34.133334-98.986666c3.413333-10.24 0-17.066667 3.413333-27.306667 3.413333-6.826667 3.413333-17.066667 3.413333-23.893333 0-13.653333 0-20.48-3.413333-27.306667-6.826667-6.826667-17.066667-3.413333-37.546667-3.413333-10.24 0-17.066667 0-27.306666 3.413333s-17.066667 0-23.893334 3.413333l10.24-30.72c23.893333-6.826667 44.373333-13.653333 64.853334-20.48 20.48-6.826667 40.96-6.826667 58.026666-6.826666 34.133333 0 58.026667 6.826667 75.093334 20.48s37.546667 30.72 37.546666 51.2c0 3.413333 0 13.653333-3.413333 23.893333 0 10.24-3.413333 20.48-6.826667 30.72l-44.373333 98.986667c-3.413333 6.826667-6.826667 17.066667-6.826667 27.306666-3.413333 10.24-3.413333 17.066667-3.413333 23.893334 0 13.653333 3.413333 23.893333 10.24 27.306666 6.826667 3.413333 20.48 6.826667 37.546667 6.826667 6.826667 0 17.066667 0 27.306666-3.413333s17.066667-3.413333 23.893334-6.826667l-10.24 27.306667zM607.573333 372.053333c-13.653333 10.24-34.133333 17.066667-54.613333 17.066667s-40.96-6.826667-54.613333-17.066667c-13.653333-10.24-23.893333-23.893333-23.893334-40.96s6.826667-30.72 23.893334-40.96c13.653333-10.24 34.133333-17.066667 54.613333-17.066666s40.96 6.826667 54.613333 17.066666c13.653333 10.24 23.893333 23.893333 23.893334 40.96s-10.24 30.72-23.893334 40.96"
fill="#666666" p-id="1951"></path>
<path
d="M512 1006.933333C238.933333 1006.933333 17.066667 785.066667 17.066667 512S238.933333 17.066667 512 17.066667 1006.933333 238.933333 1006.933333 512 785.066667 1006.933333 512 1006.933333z m0-955.733333C259.413333 51.2 51.2 259.413333 51.2 512S259.413333 972.8 512 972.8 972.8 764.586667 972.8 512 764.586667 51.2 512 51.2z"
fill="#666666" p-id="1952"></path>
</svg>
2 unicode引用
unicode是字体再网页端最原始的应用方式
- 兼容性好,支持ie6+,以及所有现代浏览器
- 支持按字体的方式去动态调整图标大小,颜色等等
- 因为是字体,不支持多色,只能使用平台里单色的图标(缺点)
使用
下载项目,拷贝css,导入页面,添加上相应的class和文本内容即可
@font-face {font-family: "iconfont";
src: url('iconfont.eot?t=1595044553727'); /* IE9 */
src: url('iconfont.eot?t=1595044553727#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAANEAAsAAAAABzwAAAL4AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCCcAqCTIImATYCJAMICwYABCAFhG0HKxtHBsiOk6UGkr/z+dftvS950AT4YtB6vroEKRJOSNVl08l9Mps60wABZub/uHf6R4nPB1Iuc0z+1AUYbw1ob4z2eUAFEoC3qFdfQzKYp4EA0GCiGKSkrKYFHChgEgFAbBbTILiUDxRUJTkQqEtWUpD1UIFjVjAPAKzzv09+ISkOYKBiAWUNKx1BwSmmsfPd89HjIuCPZwGg1gEsgBgABUhLqa0OG8ZisNBozBRBAAoa/ErdbtcAstY/D0QNKNQBAMZT3jnxbcGpFjIAAEo7zYClvV4E0DxfnU66HLL5sGblVf1JQhYYthnat23dRgwLtuq3akJWbt681X/ctfBtx7SrIrecADb7o6TF2QPzj4SuCt+2zdC1+fDKo0d36hfU77LqyJEd87f3vPra9vpb+8svrS8+z7QkLQEnyS54K9vCuYsvXvId0/nz0CSdOlTTHzik19WotRpdcAnn5M5/3l+4N/Lt56ceSYvuTffm1XqvvuihLq88Xt+9XssOHijS245dF67X39GNnct6jL1jWfiUGgz0KbJdjiOKIx7B125TkNxGPhfw8SgAAO4N7D9W+gG/waqc7Vf6vXL+c1oKAHifsemuP8a9gYKVAHCnaSfA6+a3rKC6EJTMgfOYnYE54QED0CINADfA5etTX1XAvVkIuBRfAYNRmAAsOISglBwDKmiRAmpwyAcNopWv18KPjAWhPIAoSwgQeDsHDDxxA1h4e4hS8kdQQe8PqOEdCxq05bejFmFZNMWyOKiII8LQDMEyLDmMllHRBMVNommKbVBOCn1Kmyi7LEEhMS4hmywXHaI8xhzXVFOSohgFoyzZhTJynmizSYJTliaLw0qcWVGcWfHxxrIrxQ1LdmhQTCYapBCNEAyZQWAxTOJgdGsrNLnPNxGZTGEzSK4h1FjbiGQulu4FieIktEDLZY5WhGu5xGUqkyQKhZHASCaxE5SRYSIbG4nAWT5sMtEwRRxzj4hTlnisZmwri5tfYX+6dQAagJohmMWCWAA=') format('woff2'),
url('iconfont.woff?t=1595044553727') format('woff'),
url('iconfont.ttf?t=1595044553727') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('iconfont.svg?t=1595044553727#iconfont') format('svg'); /* iOS 4.1- */
}
.iconfont {
font-family: "iconfont" !important;
font-size: 10px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-i:before {
content: "\e604";
}
<link rel="stylesheet" href="../lib/iconfont.css">
<body>
<span class="iconfont"></span>
</body>
3 font-class引用
font-class是unicode的方式的变种
主要是解决unicode书写不直观,语意不明确的问题
与Unicode使用方式相比,具有以下特点
- 兼容性好,支持IE8+,以及所有现代浏览器
- 相比于Unicode语意明确,书写更直观
- 替换图标时,使用class定义图标,所以替换时只需要修改class里面的Unicode引用
- 本质上还是使用的字体,所以多色图标是不支持的
<link rel="stylesheet" href="../lib/iconfont.css">
<body>
<span class="iconfont icon-i"></span>
</body>
4 Symbol使用
这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇文章 这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:
- 支持多色图标了,不再受单色限制。
- 通过一些技巧,支持像字体那样,通过 font-size, color 来调整样式。
- 兼容性较差,支持 IE9+,及现代浏览器。
- 浏览器渲染 SVG 的性能一般,还不如 png。
<style>
.icon {
width: 1em;
height: 1em;
vertical-align: -0.15em;
fill: currentColor;
overflow: hidden;
}
</style>
<script src="../lib/iconfont.js"></script>
<body>
<svg class="icon" aria-hidden="true">
<use xlink:href="#icon-i"></use>
</svg>
</body>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端