icon 的各种实现方式

icon 的各种实现方式

  • 需求:一个页面上有很多个小图标
  • 实现方式:
    • image
    • CSS Sprites
    • Icon Font
    • CSS Icon
    • SVG(目前来看,是最完美的)

使用 image 实现

  • 注意事项:
    • img 的大小设置
      • 可以只设置宽度/高度,图片会自适应缩放
    • img 的 vertical-align
    • 请求数过多
      • 因为每一个请求都是需要花时间去建立的,HTTP 1.1 时代,客户端(浏览器)是慢的,但如果升级到了 HTTP 2,100个请求跟1个请求是差不了多少的
      • 在服务器端(server),比如是用 php、java 实现的后端,请求过多,一般会导致线程过多,或大或小都会产生一定的压力
      • 另外,请求过多,对网站流量也会有一定的影响,流量要要花钱的

CSS Sprites(CSS 精灵图)

  • 最开始我们是 人肉拼 Sprites
  • 现在可以使用命令行
    • google:npm css sprites,可以找到 sprity。通过文档中的 sprity-cli 来查看如何在命令行中使用它
    • 安装完成后,比如使用命令 sprity create build resource/*.png -s style.css。这里意思是将 resource 目录下的 png 格式图片生成 scripts 以及 名为style.css的文件,并放在 build 目录下。这样我们就可以在代码中直接引用了,直接加上对应的 icon 类名即可
  • 或使用在线工具:(google:css sprites generator)
  • 缺点:
    • 无法缩放
    • 不好修改

Icon Font 把字体做成图标

  • 制作字体文件
  • 声明 font-family @font-face
    • 使用本地链接
    • 或者使用第三方链接
  • 使用 font-familt
    • 使用 HTML 实体字符,写在标签里面(所有浏览器都兼容)
    • 或使用 CSS :before(IE7-不支持) —— CSS Entities
    <style type="text/css">
    span:before {
        content: "\00A9";
    }
    </style>
</head>
<body>
    <span>©</span>
</body>

CSS icon 用 CSS 画

  • CSS 能画圆,能画方,为什么不能画 icon?
  • 参考网站:CSS ICON
  • 兼容性:IE支持不太好,比如border-radius IE8-不支持

SVG

  • svg 可以作为图像的地址直接传入:<\img src="svg">,但是这样依然会造成请求数过多
  • 还可以使用 SVG "sprites"
    • google:npm svg sprites,看排名靠前的,比如 svg-sprite
    • 它是以标签的形式来组织所有的图片的,移动端首选
  • 优点:可以方便的修改 icon 的大小、颜色,缩放没有锯齿
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.使用image来实现 注意:1.要小心的设置image的宽高。2.要注意设置vertical-align。3....
    饥人谷_小侯阅读 349评论 0 0
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,014评论 1 92
  • 前言 本篇文章其实陆陆续续写了快半年,主体部分写好了很久了,但由于种种原因一直没有发布。首先来说说写这篇文章的主要...
    7cd975786ccd阅读 4,552评论 0 11
  • 把它們從工作室打包回家 開設一個屬於自己的小角落 夢中的花海美輪美奐 期待美妙瞬間在油彩裏定格 有桂花淺泡普洱 讓...
    林素兮阅读 223评论 11 5
  • UITableView基础使用 View.m中 Controller.m中 Cell增删 移动 UITableVi...
    MI移动阅读 139评论 0 1

友情链接更多精彩内容