响应式框架Bootstrap
Bootstrap框架简介
Bootstrap是最受欢迎的 HTML、CSS 和 JS 框架,用于开发响应式布局、移动设备优先的WEB项目。
在前面视频教程中提到的,响应断点、栅格系统、交互实现等内容,在Bootstrap框架中都已经提供好了,只需要引入框架文件即可使用。
Bootstrap文件可通过官方提供的网址:https://getbootstrap.com/ 进行下载。截止到目前最新的版本为 v5.0.x 。这里强调一点,Bootstrap框架是基于jquery库来设计的,所以除了在html文件中引入Bootstrap相关文件外,还需要引入jquery.js文件,并需要确保文件的引入顺序,具体引入方式如下:
<link rel="stylesheet" href="./bootstrap.css">
<script src="./jquery.js"></script>
<script src="./bootstrap.js"></script>
响应式断点的设定
Bootstrap中的断点值设定跟前面视频中讲解的值是一样的:
设备描述 | 断点值 | 标识符 |
---|---|---|
Extra small | <576px | |
Small | ≥576px | -sm |
Medium | ≥768px | -md |
Large | ≥992px | -lg |
X-Large | ≥1200px | -xl |
XX-Large | ≥1400px | -xxl |
在Bootstrap框架中,能够具备响应式断点设定的样式非常多,如:float浮动、display显示框、container容器、text文本等。
<div class="float-sm-start
d-lg-block
container-md
text-xl-start"></div>
响应式栅格系统
Bootstrap中的栅格系统跟前面视频中讲解的也是一样的,不过功能更加的丰富,除了有12列响应式栅格系统外,还有栅格位置的控制和对行的栅格化控制等。
可通过 offset-*-*
模式对栅格进行偏移,代码如下:
<div class="row">
<div class="col-3 offset-1 bg-primary p-4"></div>
<div class="col-3 offset-2 bg-danger p-4"></div>
</div>
可以看到第一列距离左边会空出一个栅格的大小,第二列跟第一列之间会空出两个栅格的大小,那么最后剩余的空间为三个栅格。
可通过 row-*-*
模式对行进行栅格化控制,代码如下:
<div class="row row-cols-3">
<div class="col bg-primary p-4 border"></div>
<div class="col bg-primary p-4 border"></div>
<div class="col bg-primary p-4 border"></div>
<div class="col bg-primary p-4 border"></div>
</div>
<div class="row row-cols-4">
<div class="col bg-danger p-4 border"></div>
<div class="col bg-danger p-4 border"></div>
<div class="col bg-danger p-4 border"></div>
<div class="col bg-danger p-4 border"></div>
</div>
可以看到第一行只能放置三列,而第二行可以放置四列。
常见bootstrap组件
在Bootstrap框架中提供了很多现成的组件,可直接进行使用并带有交互行为。下面展示其中一个组件,Accordion(手风琴,即折叠列表)组件。
<div class="accordion" id="accordionExample">
<div class="accordion-item">
<h2 class="accordion-header" id="headingOne">
<button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
第一项
</button>
</h2>
<div id="collapseOne" class="accordion-collapse collapse show" aria-labelledby="headingOne" data-bs-parent="#accordionExample">
<div class="accordion-body">
第一项的内容
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header" id="headingTwo">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
第二项
</button>
</h2>
<div id="collapseTwo" class="accordion-collapse collapse" aria-labelledby="headingTwo" data-bs-parent="#accordionExample">
<div class="accordion-body">
第二项的内容
</div>
</div>
</div>
</div>
Bootstrap中的组件是通过,自定义属性 data-*
方式来控制交互行为的,例如在Accordion组件中通过 data-bs-toggle="collapse" data-bs-target="#collapseOne"
进行的。