从 v1.4 开始使用 Bootstrap,从此(内部)项目的 UI 告别了自制样式的时代,风格清新而且使用简便,是目前见过最好使的 CSS 框架。对于哪个妙句 “Build for and by nerds”,我都不知道说什么好了。如果想自定义样式,对于了解 LESS 的是非常容易的,但门槛并不在 LESS 本身,而是在于有些资源在国内是不能访问的。
而 v2.0 之后引入了 由 Glyphicons 提供的 Icons,应用到项目中去,顿时使整个 UI 的感觉上升了一个档次,真是锦上添花的好东西啊。
但是,需求总有惊喜的部分存在。
比如,想在字号较大的 title 位置也应用 icons;
又比如,在一个希望可以起到警惕作用的位置使用 .icon-ban-circle,无论是黑色还是白色(目前只有这两种颜色可供选择)都不能达到这个要求;
幸好是内部系统,不需要兼容什么老的 IE 版本,使用 png 实现的 icons,欸~~
解决方案总是会有的。不知道什么时候起,人们探索发现,CSS 嵌入字体不仅可以用来丰富 web 字体的表现,更可以用来实现 icons。原理是很简单的,自定义一种字体,给不同的字配置作为 icon 的图案,然后通过 CSS 嵌入其中使用。使用它可以轻松地解决上面所遇到的问题,因为一旦将 icons 当作普通 text 来处理,font-size,color 之类的文本修饰随手解决,有了 CSS3 的支持,加个 text-shadow,旋转几下是相当轻松的。
只是,自制字体就没那么容易了,而且不同浏览器对字体的嗜好也是不同的。幸好,有热心开源的朋友已经为你做好了,这里的主角 Font Awesome 项目终于要出场了。
- Font Awesome 除了包含 Glyphicons Free 所提供的图标外,还额外加入了一系列实用或时髦的图标
- 不仅仅是配合 Bootstrap 使用,它还可以单独使用,还是免费的(under CC BY 3.0)
- 还不会 trip up screen reader,这个照顾得很周到
- 目前兼容现代浏览器,很快要兼容 IE7 了
- Icon Font 所拥有的特性,如任意大小缩放,字体颜色、阴影等字体修饰,它都有,而且表示只要 CSS 可以做得到的都可以做得到
详细的看看例子就很清楚了。
<参考>
- Using Fonts for Icons…,这个 examples 才是重点啊。
- 人们在 Delicious.com 上创建的名叫 Icon Fonts 的 stack
- 如果还是不够过瘾,想 DIY,有这篇 CSS3 icon font 完全指南
- 来自 Twitter 的 Bootstrap