这种思路是在一个国外的网站上发现的,设计者在网站中使用了很多小图标,但是并没有使用CSS-Sprite技术,而是使用了另外一种特殊的办法。那就是css3的font-face技术载入了一个自己做的字体文件,在需要显示的地方直接打上调用的字符。
这种办法只适用于大量纯色,至于数量貌似没有上限,a-z+0-9+符号就够用了,狠一点,插入中文,动辄几千个单位…
font-face图标 VS CSS-Sprite图标
他们同样是把N多个图标合并到一次HTTP请求中,CSS-Sprite是我们经常用的方法,它几乎可以把所有不需要平铺的图片全部放进去,然后来定位。
而CSS-Sprite的弊端就是定位,想朽木这样做前端的,几乎天天跟background-position打交道,XY一个像素也不能差,虽说有这方面的工具,但是工作量还是放大了好几倍。
而font-face则不需要定位,只要对照着字体编辑器,就可以知道哪个字符对应的哪个图标。使用起来非常方便
<style type="text/css" media="screen">
<!--
i{font-family:'自定义字体名字';color:#000;}
i:hover{color:#0f0;}
-->
</style>
<div>
<li><i>A</i>某某某</li>
<li><i>B</i>某某某</li>
<li><i>C</i>某某某</li>
</div>
A/B/C就会自动变成我们字体中所对应的图标,怎么样,很方便吧,但是font-face有局限性,就是必须是纯色图标,因为字体只能给它附加color属性来改变颜色。
从维护方面来说,font-face方法要方便的多,更换/添加/图标非常容易,而CSS-Sprite则不太容易管理,特别是图片和大小都要变更的时候。
时间: 2024-10-30 15:11:58