每一个可以努力的日子,都是一份厚礼。
为 Bootstrap 添加更多自定义图标
Twitter Bootstrap 真是前端开发的瑞士军刀,作为基于 HTML,CSS 和JavaScript 的简洁灵活的前端框架及交互模块集合,让我这样的半吊子 PHPer 都能很轻松地写出一张还算漂亮的页面来。干净整洁有木有!小清新有木有!Web 后端都逆袭了有木有!
Bootstrap 默认自带了由 Glyphicons 提供的 140 个灰/白图标,很好看,然而,很不够用啊!无法满足项目饥渴的需求啊!连个电话的图标都没有,哥曾经在推上@这套图标的作者,过了大概 5 个月这哥们 回复我 说那个 phone icon 做好了。。。
FamFamFam Silk Icon 是一套免费的图标,它包含了 1000 多个精美的彩色的 icons(全部图标一览)。如果能用 Bootstrap 的方式来调用这些图标,使用到我们的项目中,肯定能把需求全部满足了。
一、下载 FamFamFam 图标
下载:点击下载
二、合并雪碧图
并不是所有的 1000 多枚图标我们都用得上,为了减小图片大小,我们从下载的图标中挑出我们需要的,然后进行 Sprite 在线合并。
1. 打开这个网站:http://spritegen.website-performance.org/
2. 选择你要合并的图标准备上传
3. 修改以下配置
- Build Direction: Horizontal
- Horizontal Offset: 5px
- Vertical Offset: 5px
- CSS Prefix: cus-
4. 提交上传
大约 30 秒后,我们就能得到合并后的雪碧图,以及相关 CSS 代码了。
... cus-world{ background-position: 0 0; width: 16px; height: 16px; } cus-world_add{ background-position: 0 -21px; width: 16px; height: 16px; } cus-world_delete{ background-position: 0 -42px; width: 16px; height: 16px; } cus-world_edit{ background-position: 0 -63px; width: 16px; height: 16px; } cus-world_go{ background-position: 0 -84px; width: 16px; height: 16px; } cus-world_link{ background-position: 0 -105px; width: 16px; height: 16px; } cus-wrench{ background-position: 0 -126px; width: 16px; height: 16px; } cus-wrench_orange{ background-position: 0 -147px; width: 16px; height: 16px; } ... |
保存上面的雪碧图 famfamfam-icons.png,以及 cus-icons.css
三、与 Bootstrap 整合使用
默认情况下,在 bootstrap 中我们以 icon-xxx 的形式来使用图标。现在,我们以 cus-xxx 来调用自定义的图标。只需要在 cus-icons.css 里加上下面几段:
/* icons */ [class^="cus-"], [class*=" cus-"] { display: inline-block; width: 17px; height: 16px; *margin-right: .3em; line-height: 14px; vertical-align: text-top; background-image: url("icons/famfamfam-icons.png"); background-position: 14px 14px; background-repeat: no-repeat; } [class^="cus-"]:last-child, [class*=" cus-"]:last-child { *margin-left: 0; } /* icons code below */ .cus-accept{ background-position: 0 0; } .cus-add{ background-position: -21px 0; } .cus-anchor{ background-position: -42px 0; } .cus-application{ background-position: -63px 0; } ...... ...... ...... |
大功告成!
想看实际效果?查看 Demo 页。
———————- 正文结束,下面是思考人生时间。割割更健康 ———————-
总结
Bootstrap 是一套前端开发利器,它可以帮助我们加速项目开发,让样式和交互拥有一致的设计和实现方法。于是开发者不需要在外观上花费过多时间,能将精力集中于更重要的功能。Sroan 曾经问我:“大家都用这套框架,那做出来网站岂不是都长得一样了?”
确实,如果完全采用 Bootstrap 的默认样式,就会有很多界面元素雷同。但我们终究是要写自己的 CSS 样式的,不然,不论用什么框架,总会有雷同的问题。Bootstrap 带来的只是一套前端规范和开发约束,它定义了我们的合作方式,让界面元素的命名有规律可循。更何况任何人都可以基于 Bootstrap 建立可扩展的前端工具包,或者在它的基础上启动属于自己的框架。自定义图标就是一个开始。
这篇文章由lovelucy于2012-11-20 01:07发表在前端开发。你可以订阅RSS 2.0 也可以发表评论或引用到你的网站。除特殊说明外文章均为本人原创,并遵从署名-非商业性使用-相同方式共享创作协议,转载或使用请注明作者和来源,尊重知识分享。 |
批评不自由
则赞美无意义
Google Chrome 21.0.1180.92 Windows 7 大约11年前
强大支持。
server 服务器图标都有,
😛
如果有 switch 和 route 就更好了。
Google Chrome 26.0.1410.43 Windows 8 大约11年前
https://github.com/gmr/glyphicons-sprite-generator
可以试试这个,貌似是bootstrap自带icon生成的那个工具(
不确认),
最主要的是这货能换色把整个icon换成一种颜色(bootstrap的白色和黑色整体换成蓝色),
然后就是本地运行……以 cus-xxx 来调用自定义的图标这个不错,
类似命名空间的感觉……
Google Chrome 26.0.1410.64 Windows 7 大约11年前
如果只是换色,那用图标字体就能搞定啦 😈
http://fortawesome.github.io/Font-Awesome/
Mozilla Firefox 14.0.1 Mac OS X Lion 10.7 大约11年前
是啊,现在一看网站风格有点小清新的就想查看源码有木有bootstrap.js
haha 😀
Google Chrome 23.0.1271.97 Windows 7 大约11年前
关键是模块化的设计思想,让前端代码不再是乱糟糟的,这个很赞。
Google Chrome 16.0.912.77 Windows 7 大约11年前
Bootstrap确实很不错,非常感谢你提供这个教程。
我主要还是用Bootstrap提供的那些图标,偶尔单独加几个,多的话还得来个sprites
Google Chrome 22.0.1229.94 Windows 7 大约11年前
为什么身边这么多突然勇气了bootstrap了,看来风格一样的网站即将雨后春笙般的出现了。。。。。
Google Chrome 23.0.1271.64 Windows 7 大约11年前
正因为好用,所以才流行嘛。
我使用的 PHP 框架 Yii Framework 也有讨论在下一个版本中将 Bootstrap 作为默认自带前端框架。
Someone came up with the argument that using Bootstrap will lead to a lot of sites looking the same. Seriously, that can’t be an argument against a CSS framework If people are too lazy to add their own CSS all Yii sites would look the same anyway, regardless of the framework behind.