我们以为例子,图中看到的用圆圈起来的部分都是icon
这个时候你就想问了,这不就是几张图片么?
不,它不是图片,而是文字
什么??这怎么可能是文字,文字怎么会是这样的?...
正如你所看到的,现在市面上大多数网页使用的图标都是类似这样的形式,也有不少icon图标库可供我们使用
它的实现方式有:
首先我们需要了解:
如何让页面展示一个图标呢?我们可以把图标当成文字来操作,步骤如下:
下面是具体用法范例,大家可以一试:
或者
CSS Sprites在国内很多人叫css精灵(雪碧图),是一种网页图片应用处理方式。它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢慢显示出来了。对于当前网络流行的速度而言,不高于200KB的单张图片的所需载入时间基本是差不多的,所以无需顾忌这个问题。
加速的关键,不是降低质量,而是减少个数。传统切图讲究精细,图片规格越小越好,重量越小越好,其实规格大小无所谓,计算机统一都按byte计算。客户端每显示一张图片都会向服务器发送请求。所以,图片越多请求次数越多,造成延迟的可能性也就越大。
例子:
引用该类 .. 然后在元素中逐一定义背景坐标 .. 以下为关键属性 ..
必须要限定容器大小符合背景图元素位置 .. 另外 .. XY轴是相对于整张图片的左上角来算的 .. 所以取值一定要算清楚。
需要把图标换成字体图标,阿里巴巴图标库可以把图标转成字体图标,自定义的图标需要用svg然后转换。
下载出来引用字体图标样式。在样式表中引用字体图标
@font-face {font-family: "aui_iconfont"
src: url('aui-iconfont.2.0.ttf') format('truetype')
}//字体引用方式
arrow-left:before { content: "\e6eb"}//字体图标的命名和生成的字体
把字体图标的命名引用到对应的div即可<div class="aui-iconfont aui-icon-left"></div>生成如下效果图。
可以使用背景图设置,使用背景精灵图 把图标放在一张图片上面,通过定位位移来找到图片。
切成小图标 一个位置对应一个图标。
可以在阿里图库中下载相应的图标,下到本地后
第一步:拷贝项目下面生成的font-face
@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#iconfont') format('svg')
}
第二步:定义使用iconfont的样式
.iconfont{
font-family:"iconfont" !important
font-size:16pxfont-style:normal
-webkit-font-smoothing: antialiased
-webkit-text-stroke-width: 0.2px
-moz-osx-font-smoothing: grayscale}
第三步:挑选相应图标并获取字体编码,应用于页面
<i class="iconfont">&#x33</i>
font-class引用
font-class是unicode使用方式的一种变种,主要是解决unicode书写不直观,语意不明确的问题。
与unicode使用方式相比,具有如下特点:
兼容性良好,支持ie8+,及所有现代浏览器。
相比于unicode语意明确,书写更直观。可以很容易分辨这个icon是什么。
因为使用class来定义图标,所以当要替换图标时,只需要修改class里面的unicode引用。
不过因为本质上还是使用的字体,所以多色图标还是不支持的。
使用步骤如下:
第一步:拷贝项目下面生成的fontclass代码:
//at.alicdn.com/t/font_8d5l8fzk5b87iudi.css第二步:挑选相应图标并获取类名,应用于页面:
<i class="iconfont icon-xxx"></i>