早期的图标都是一个一个的图片,不利于页面性能优化:
所以,后来就出现了专门的图标库。流行的有
bootstrap4也提供了官方(但不是内置)的图标库。
一样可以使用CDN、npm和手动下载三种方式。
使用前要引入.css文件:
<link rel="stylesheet" href="bootstrap-icons.css">在这个.css文件中,引入了两个.woff字体文件:
@font-face { font-family: "bootstrap-icons"; src: url("./fonts/bootstrap-icons.woff2?524846017b983fc8ded9325d94ed40f3") format("woff2"), url("./fonts/bootstrap-icons.woff?524846017b983fc8ded9325d94ed40f3") format("woff"); }
当我们使用样式创建字体的时候(比如bi bi-activity):
<i class="bi bi-activity"></i>
CSS做了两件事:(演示)
.bi-activity::before { content: "\f66b"; }
.bi::before, [class^="bi-"]::before, [class*=" bi-"]::before { display: inline-block; font-family: bootstrap-icons !important;
<i class="bi bi-activity text-success"></i>
Scalable Vector Graphics(可缩放矢量图形),可以简单的理解成:能够在HTML中直接用文本/字符描述的图形。
好处:不要求新的HTTP请求
CSS Sprite:一种一次性加载拼接而成的大幅图片,在呈现时使用CSS技术只显示其中的一部分。
目的:减少HTTP请求。
其他详见文档,推荐使用基于字体的图标生成。使用基于svg的图标,唯一勉强能说得过去的是:不需要字体和.css文件,但还是需要加载.svg呀!
“动画”效果需要(暂时由CDN)引入JQuery和bootstrap.js:
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"></script> <script src="/node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
PS:注意先后顺序。
暂目前只介绍“声明式”使用方法,不需要任何JavaScript代码,只需要在HTML标签中进行声明即可,通常是:
参考文档整理归类:
徽章(Badge):还可以是胶囊状(pill)的
卡片(Card):能够简单的形成瀑布流(Masonry-like columns),赞!
巨幕(Jumbotron):
媒体对象(Media object):非常适合做(带头像的)评论(列表)
列表组(List group):JavaScript效果暂时略过
折叠(Collapse):典型的JavaScript应用场景
轮播(Carousel):
进度条(Progress):进度条本身的增长还需要自己用JavaScript实现
滚动监听(Scrollspy):需要基于nav和list group
旋转图标(Spinners):有点简陋/鸡肋。fontawesome提供了更有“逼格”的实现。
警告框(Alerts)
轻量弹框(Toasts)
工具提示框(Tooltips)
弹出框(Popovers)
模态框(Modal):static蛮有用的
按钮(Buttons) :a标签上也可以使用btn样式,且通过.disabled类真的可以禁用href跳转:
a.btn.disabled { pointer-events: none; }
按钮组(Button group)
表单(Forms):理解custom form(checkbox/radio,file browser 等)
输入组(Input group)
面包屑导航(Breadcrumb)
分页(Pagination)
下拉菜单(Dropdowns):注意和“下拉列表(select/option)”区分,没有form表单提交的功能
导航(Navs)
导航条(Navbar)
以上两种方式都是骨灰级玩家……
但作为普通开发者,都应该:尽可能的使用bootstrap内置(及其扩展)样式,尽可能避免使用自己的行内样式,尤其不能:
修改bootstrap.css及其.js文件!
多快好省!前端后端,线上线下,名师精讲
更多了解 加: