使用icon fonts来辅助CSS处理图片

时间:2021-05-08

由于移动端设备拥有不同分辨率,PPI 等引起的问题, 常常需要针对不同屏幕分辨率来调整优化,如使用 @2x 图片, max-width 限制等。
采用 css @font-face 用来显示 icon 也不失为一种好办法。
因为 icon fonts (字体)是矢量图形,所以不受分辨率的影响,同时可以做到完美缩放;当然,也可使用在 WEB 端。
优点

文件小
加载性能好
支持 css 样式
IE6/7 下也支持

缺点

样式限制,使用扁平化风格
移动端还存在不兼容问题

少量移动设备和 icon fonts 字符编码冲突
FF和 IE9 下跨域问题
性能问题

使用方法

制作字体文件
可以利用字体工具手动制作
也可以利用在线工具自动生成
在 css 中引用,如下

引入字体文件

CSS Code复制内容到剪贴板
  • @font-face{font-family:'iconfont';
  • src:url('iconfont.eot');
  • src:url('iconfont.eot?#iefix')format('embedded-opentype'),
  • url('iconfont.woff')format('woff'),
  • url('iconfont.ttf')format('truetype'),
  • url('iconfont.svg#uxiconfont')format('svg');
  • }
  • 再定义一个 icon-* 通配我们所有图标的共有 CSS 样式,

    CSS Code复制内容到剪贴板
  • [class^="icon-"],[class*="icon-"]{
  • display:inline-block;
  • speak:none
  • font-family:"iconfont";
  • font-size:16px;
  • line-height:1;
  • font-style:normal;
  • /**字体图标出现锯齿的问题:*/
  • -webkit-font-smoothing:antialiased;
  • -moz-osx-font-smoothing:grayscale;
  • }
  • 最后是利用 :before 来注入每个 icon 对应的字体编码

    CSS Code复制内容到剪贴板
  • .icon-bell:before{
  • content:"\003432";
  • }
  • .icon-search:before{
  • content:"\003433";
  • }
  • 声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

    相关文章