我知道CSS和HTML的一些基础知识,有时也可以使用它们,但我不是专业人士,而且我很好奇Bootstrap Glyphicons是如何工作的。我的意思是Bootstrap zip文件中没有图像,所以图像来自哪里?
答案 0 :(得分:89)
在Bootstrap 2.x中,Glyphicons使用图像方法 - 使用您在问题中提到的图像。
图像方法的缺点是:
因此,在Bootstrap 2.x中使用Font-awesome而不是Glyphicons,因为这使用了没有这种限制的SVG图标。
在Bootstrap 3.x中,Glyphicons使用字体方法。
使用字体表示图标比使用图像更有优势:
您可以使用图标here的字体方法查看可以执行的操作。
因此,在Bootstrap发行版中,您可以看到glyphicon字体文件:
fonts\glyphicons-halflings-regular.eot
fonts\glyphicons-halflings-regular.svg
fonts\glyphicons-halflings-regular.ttf
fonts\glyphicons-halflings-regular.woff
Bootstrap CSS引用了glyphicon字体,如下所示:
@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');
}
CSS使用.glyphicon
基类链接到此字体(请注意font-family
):
.glyphicon {
position: relative;
top: 1px;
display: inline-block;
font-family: 'Glyphicons Halflings';
font-style: normal;
font-weight: normal;
...
}
然后每个glyphicon使用一个单独的图标类,引用Glyphicon Halflings字体中的Unicode reference,例如:
.glyphicon-envelope:before {
content: "\2709";
}
这就是为什么你必须使用基础.glyphicon
类以及针对Bootstrap 3中span
元素的单独图标类:
<span class="glyphicon glyphicon-envelope"></span>