本章将讲解字体图标(Glyphicons),并通过一些实例了解它的使用。Bootstrap 捆绑了 200 多种字体格式的字形。首先让我们先来理解一下什么是字体图标。
字体图标是在 Web 项目中使用的图标字体。虽然,Glyphicons Halflings 需要商业许可,但是您可以通过基于项目的 Bootstrap 来免费使用这些图标。
为了表示对图标作者的感谢,希望您在使用时加上 GLYPHICONS 网站的链接。
我们已经在 环境安装 章节下载了 Bootstrap 3.x 版本,并理解了它的目录结构。在 fonts 文件夹内可以找到字体图标,它包含了下列这些文件:
相关的 CSS 规则写在 dist 文件夹内的 css 文件夹内的 bootstrap.css 和 bootstrap-min.css 文件上。
下面的 CSS 规则构成 glyphicon class。
@font-face {
font-family: ‘Glyphicons Halflings‘;
src: url(‘../fonts/glyphicons-halflings-regular.eot‘);
src: url(‘../fonts/glyphicons-halflings-regular.eot?#iefix‘) format(‘embedded-opentype‘), url(‘../fonts/glyphicons-halflings-regular.woff‘) format(‘woff‘), url(‘../fonts/glyphicons-halflings-regular.ttf‘) format(‘truetype‘), url(‘../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular‘) format(‘svg‘);
}
.glyphicon {
position: relative;
top: 1px;
display: inline-block;
font-family: ‘Glyphicons Halflings‘;
-webkit-font-smoothing: antialiased;
font-style: normal;
font-weight: normal;
line-height: 1;
-moz-osx-font-smoothing: grayscale;
}
所以 font-face 规则实际上是在找到 glyphicons 地方声明 font-family 和位置。
.glyphicon class 声明一个从顶部偏移 1px 的相对位置,呈现为 inline-block,声明字体,规定 font-style 和 font-weight 为 normal,设置行高为 1。除此之外,使用 -webkit-font-smoothing: antialiased 和 -moz-osx-font-smoothing: grayscale; 获得跨浏览器的一致性。
然后,这里的
.glyphicon:empty {
width: 1em;
}
是空的 glyphicon。
这里有 200 个 class,每个 class 针对一个图标。这些 class 的常见格式如下:
.glyphicon-keyword:before {
content: "hexvalue";
}
比如,使用的 user 图标,它的 class 如下:
.glyphicon-user:before {
content: "\e008";
}
如需使用图标,只需要简单地使用下面的代码即可。请在图标和文本之间保留适当的空间。
<span class="glyphicon glyphicon-search"></span>
下面的实例演示了如何使用字体图标:
<!DOCTYPE html>
<html>
<head>
<title>Bootstrap 实例 - 如何使用字体图标</title>
<link href="/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<script src="/scripts/jquery.min.js"></script>
<script src="/bootstrap/js/bootstrap.min.js"></script>
</head>
<body>
<p>
<button type="button" class="btn btn-default">
<span class="glyphicon glyphicon-sort-by-attributes"></span>
</button>
<button type="button" class="btn btn-default">
<span class="glyphicon glyphicon-sort-by-attributes-alt"></span>
</button>
<button type="button" class="btn btn-default">
<span class="glyphicon glyphicon-sort-by-order"></span>
</button>
<button type="button" class="btn btn-default">
<span class="glyphicon glyphicon-sort-by-order-alt"></span>
</button>
</p>
<button type="button" class="btn btn-default btn-lg">
<span class="glyphicon glyphicon-user"></span> User
</button>
<button type="button" class="btn btn-default btn-sm">
<span class="glyphicon glyphicon-user"></span> User
</button>
<button type="button" class="btn btn-default btn-xs">
<span class="glyphicon glyphicon-user"></span> User
</button>
</body>
</html>
结果如下所示:
<!DOCTYPE html>
<html>
<head>
<title>导航栏的字体图标</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap -->
<link href="http://apps.bdimg.com/libs/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet">
<style>
body {
padding-top: 50px;
padding-left: 50px;
}
</style>
<!--[if lt IE 9]>
<script src="http://apps.bdimg.com/libs/html5shiv/3.7/html5shiv.min.js"></script>
<![endif]-->
</head>
<body>
<div class="navbar navbar-fixed-top navbar-inverse" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Project name</a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#"><span class="glyphicon glyphicon-home">Home</span></a></li>
<li><a href="#shop"><span class="glyphicon glyphicon-shopping-cart">Shop</span></a></li>
<li><a href="#support"><span class="glyphicon glyphicon-headphones">Support</span></a></li>
</ul>
</div><!-- /.nav-collapse -->
</div><!-- /.container -->
</div>
<!-- jQuery (Bootstrap 插件需要引入) -->
<script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
<!-- 包含了所有编译插件 -->
<script src="http://apps.bdimg.com/libs/bootstrap/3.2.0/js/bootstrap.min.js"></script>
</body>
</html>
我们已经看到如何使用字体图标,接下来我们看看如何定制字体图标。
我们将以上面的实例开始,并通过改变字体尺寸、颜色和应用文本阴影来进行定制图标。
下面是开始的代码:
<button type="button" class="btn btn-primary btn-lg"> <span class="glyphicon glyphicon-user"></span> User </button>
通过增加或减少图标的字体尺寸,您可以让图标看起来更大或更小。
<button type="button" class="btn btn-primary btn-lg" style="font-size: 60px"> <span class="glyphicon glyphicon-user"></span> User </button>
<button type="button" class="btn btn-primary btn-lg" style="color: rgb(212, 106, 64);"> <span class="glyphicon glyphicon-user"></span> User </button>
<button type="button" class="btn btn-primary btn-lg" style="text-shadow: black 5px 3px 3px;"> <span class="glyphicon glyphicon-user"></span> User </button>
| 图标 | 类名 |
|---|---|
| glyphicon glyphicon-asterisk | |
| glyphicon glyphicon-plus | |
| glyphicon glyphicon-minus | |
| glyphicon glyphicon-euro | |
| glyphicon glyphicon-cloud | |
| glyphicon glyphicon-envelope | |
| glyphicon glyphicon-pencil | |
| glyphicon glyphicon-glass | |
| glyphicon glyphicon-music | |
| glyphicon glyphicon-search | |
| glyphicon glyphicon-heart | |
| glyphicon glyphicon-star | |
| glyphicon glyphicon-star-empty | |
| glyphicon glyphicon-user | |
| glyphicon glyphicon-film | |
| glyphicon glyphicon-th-large | |
| glyphicon glyphicon-th | |
| glyphicon glyphicon-th-list | |
| glyphicon glyphicon-ok | |
| glyphicon glyphicon-remove | |
| glyphicon glyphicon-zoom-in | |
| glyphicon glyphicon-zoom-out | |
| glyphicon glyphicon-off | |
| glyphicon glyphicon-signal | |
| glyphicon glyphicon-cog | |
| glyphicon glyphicon-trash | |
| glyphicon glyphicon-home | |
| glyphicon glyphicon-file | |
| glyphicon glyphicon-time | |
| glyphicon glyphicon-road | |
| glyphicon glyphicon-download-alt | |
| glyphicon glyphicon-download | |
| glyphicon glyphicon-upload | |
| glyphicon glyphicon-inbox | |
| glyphicon glyphicon-play-circle | |
| glyphicon glyphicon-repeat | |
| glyphicon glyphicon-refresh | |
| glyphicon glyphicon-list-alt | |
| glyphicon glyphicon-lock | |
| glyphicon glyphicon-flag | |
| glyphicon glyphicon-headphones | |
| glyphicon glyphicon-volume-off | |
| glyphicon glyphicon-volume-down | |
| glyphicon glyphicon-volume-up | |
| glyphicon glyphicon-qrcode | |
| glyphicon glyphicon-barcode | |
| glyphicon glyphicon-tag | |
| glyphicon glyphicon-tags | |
| glyphicon glyphicon-book | |
| glyphicon glyphicon-bookmark | |
| glyphicon glyphicon-print | |
| glyphicon glyphicon-camera | |
| glyphicon glyphicon-font | |
| glyphicon glyphicon-bold | |
| glyphicon glyphicon-italic | |
| glyphicon glyphicon-text-height | |
| glyphicon glyphicon-text-width | |
| glyphicon glyphicon-align-left | |
| glyphicon glyphicon-align-center | |
| glyphicon glyphicon-align-right | |
| glyphicon glyphicon-align-justify | |
| glyphicon glyphicon-list | |
| glyphicon glyphicon-indent-left | |
| glyphicon glyphicon-indent-right | |
| glyphicon glyphicon-facetime-video | |
| glyphicon glyphicon-picture | |
| glyphicon glyphicon-map-marker | |
| glyphicon glyphicon-adjust | |
| glyphicon glyphicon-tint | |
| glyphicon glyphicon-edit | |
| glyphicon glyphicon-share | |
| glyphicon glyphicon-check | |
| glyphicon glyphicon-move | |
| glyphicon glyphicon-step-backward | |
| glyphicon glyphicon-fast-backward | |
| glyphicon glyphicon-backward | |
| glyphicon glyphicon-play | |
| glyphicon glyphicon-pause | |
| glyphicon glyphicon-stop | |
| glyphicon glyphicon-forward | |
| glyphicon glyphicon-fast-forward | |
| glyphicon glyphicon-step-forward | |
| glyphicon glyphicon-eject | |
| glyphicon glyphicon-chevron-left | |
| glyphicon glyphicon-chevron-right | |
| glyphicon glyphicon-plus-sign | |
| glyphicon glyphicon-minus-sign | |
| glyphicon glyphicon-remove-sign | |
| glyphicon glyphicon-ok-sign | |
| glyphicon glyphicon-question-sign | |
| glyphicon glyphicon-info-sign | |
| glyphicon glyphicon-screenshot | |
| glyphicon glyphicon-remove-circle | |
| glyphicon glyphicon-ok-circle | |
| glyphicon glyphicon-ban-circle | |
| glyphicon glyphicon-arrow-left | |
| glyphicon glyphicon-arrow-right | |
| glyphicon glyphicon-arrow-up | |
| glyphicon glyphicon-arrow-down | |
| glyphicon glyphicon-share-alt | |
| glyphicon glyphicon-resize-full | |
| glyphicon glyphicon-resize-small | |
| glyphicon glyphicon-exclamation-sign | |
| glyphicon glyphicon-gift | |
| glyphicon glyphicon-leaf | |
| glyphicon glyphicon-fire | |
| glyphicon glyphicon-eye-open | |
| glyphicon glyphicon-eye-close | |
| glyphicon glyphicon-warning-sign | |
| glyphicon glyphicon-plane | |
| glyphicon glyphicon-calendar | |
| glyphicon glyphicon-random | |
| glyphicon glyphicon-comment | |
| glyphicon glyphicon-magnet | |
| glyphicon glyphicon-chevron-up | |
| glyphicon glyphicon-chevron-down | |
| glyphicon glyphicon-retweet | |
| glyphicon glyphicon-shopping-cart | |
| glyphicon glyphicon-folder-close | |
| glyphicon glyphicon-folder-open | |
| glyphicon glyphicon-resize-vertical | |
| glyphicon glyphicon-resize-horizontal | |
| glyphicon glyphicon-hdd | |
| glyphicon glyphicon-bullhorn | |
| glyphicon glyphicon-bell | |
| glyphicon glyphicon-certificate | |
| glyphicon glyphicon-thumbs-up | |
| glyphicon glyphicon-thumbs-down | |
| glyphicon glyphicon-hand-right | |
| glyphicon glyphicon-hand-left | |
| glyphicon glyphicon-hand-up | |
| glyphicon glyphicon-hand-down | |
| glyphicon glyphicon-circle-arrow-right | |
| glyphicon glyphicon-circle-arrow-left | |
| glyphicon glyphicon-circle-arrow-up | |
| glyphicon glyphicon-circle-arrow-down | |
| glyphicon glyphicon-globe | |
| glyphicon glyphicon-wrench | |
| glyphicon glyphicon-tasks | |
| glyphicon glyphicon-filter | |
| glyphicon glyphicon-briefcase | |
| glyphicon glyphicon-fullscreen | |
| glyphicon glyphicon-dashboard | |
| glyphicon glyphicon-paperclip | |
| glyphicon glyphicon-heart-empty | |
| glyphicon glyphicon-link | |
| glyphicon glyphicon-phone | |
| glyphicon glyphicon-pushpin | |
| glyphicon glyphicon-usd | |
| glyphicon glyphicon-gbp | |
| glyphicon glyphicon-sort | |
| glyphicon glyphicon-sort-by-alphabet | |
| glyphicon glyphicon-sort-by-alphabet-alt | |
| glyphicon glyphicon-sort-by-order | |
| glyphicon glyphicon-sort-by-order-alt | |
| glyphicon glyphicon-sort-by-attributes | |
| glyphicon glyphicon-sort-by-attributes-alt | |
| glyphicon glyphicon-unchecked | |
| glyphicon glyphicon-expand | |
| glyphicon glyphicon-collapse-down | |
| glyphicon glyphicon-collapse-up | |
| glyphicon glyphicon-log-in | |
| glyphicon glyphicon-flash | |
| glyphicon glyphicon-log-out | |
| glyphicon glyphicon-new-window | |
| glyphicon glyphicon-record | |
| glyphicon glyphicon-save | |
| glyphicon glyphicon-open | |
| glyphicon glyphicon-saved | |
| glyphicon glyphicon-import | |
| glyphicon glyphicon-export | |
| glyphicon glyphicon-send | |
| glyphicon glyphicon-floppy-disk | |
| glyphicon glyphicon-floppy-saved | |
| glyphicon glyphicon-floppy-remove | |
| glyphicon glyphicon-floppy-save | |
| glyphicon glyphicon-floppy-open | |
| glyphicon glyphicon-credit-card | |
| glyphicon glyphicon-transfer | |
| glyphicon glyphicon-cutlery | |
| glyphicon glyphicon-header | |
| glyphicon glyphicon-compressed | |
| glyphicon glyphicon-earphone | |
| glyphicon glyphicon-phone-alt | |
| glyphicon glyphicon-tower | |
| glyphicon glyphicon-stats | |
| glyphicon glyphicon-sd-video | |
| glyphicon glyphicon-hd-video | |
| glyphicon glyphicon-subtitles | |
| glyphicon glyphicon-sound-stereo | |
| glyphicon glyphicon-sound-dolby | |
| glyphicon glyphicon-sound-5-1 | |
| glyphicon glyphicon-sound-6-1 | |
| glyphicon glyphicon-sound-7-1 | |
| glyphicon glyphicon-copyright-mark | |
| glyphicon glyphicon-registration-mark | |
| glyphicon glyphicon-cloud-download | |
| glyphicon glyphicon-cloud-upload | |
| glyphicon glyphicon-tree-conifer | |
| glyphicon glyphicon-tree-deciduous |