Bootstrap Chinese manual / Bootstrap 字体图标

Bootstrap 字体图标

本章将讲解字体图标(Glyphicons),并通过一些实例了解它的使用。Bootstrap 捆绑了 200 多种字体格式的字形。首先让我们先来理解一下什么是字体图标。


什么是字体图标?

字体图标是在 Web 项目中使用的图标字体。虽然,Glyphicons Halflings 需要商业许可,但是您可以通过基于项目的 Bootstrap 来免费使用这些图标。

为了表示对图标作者的感谢,希望您在使用时加上 GLYPHICONS 网站的链接。


获取字体图标

我们已经在 环境安装 章节下载了 Bootstrap 3.x 版本,并理解了它的目录结构。在 fonts 文件夹内可以找到字体图标,它包含了下列这些文件:

  • glyphicons-halflings-regular.eot

  • glyphicons-halflings-regular.svg

  • glyphicons-halflings-regular.ttf

  • glyphicons-halflings-regular.woff

相关的 CSS 规则写在 dist 文件夹内的 css 文件夹内的 bootstrap.cssbootstrap-min.css 文件上。

字体图标列表

点击这里,查看可用的字体图标列表。


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="http://libs.baidu.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
   <script src="http://libs.baidu.com/bootstrap/3.0.3/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>Bootstrap 实例 - 如何使用字体图标</title>
    <link href="http://libs.baidu.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
       <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
       <script src="http://libs.baidu.com/bootstrap/3.0.3/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>

实例

<!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>

在线定制字体图标


图标列表

<td

<t

图标类名实例
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尝试一下