资讯专栏INFORMATION COLUMN

前端入门24-响应式布局(BootStrap)

lunaticf / 3211人阅读

摘要:声明声明本篇内容摘抄自以下两个来源中文网感谢大佬们的分享。版本是全球最受欢迎的前端组件库,用于开发响应式布局移动设备优先的项目。官方示例官方示例版本,官方还没有中文教程,的中文教程倒是很齐全了。

声明

本篇内容摘抄自以下两个来源:

  • BootStrap中文网

感谢大佬们的分享。

正文-响应式布局(BootStrap)

这次想来讲讲一个前端开发框架:BootStrap

BootStrap 目前已经出了 4 个版本,每个版本都有对应的官网教程,先来看看不同版本里的宣传语:

简洁、直观、强悍的前端开发框架,让web开发更迅速、简单。--- BootStrap 2.x.x 版本

Bootstrap 是最受欢迎的 HTML、CSS 和 JS 框架,用于开发响应式布局、移动设备优先的 WEB 项目。 --- BootStrap 3.x.x 版本

Bootstrap 是全球最受欢迎的前端组件库,用于开发响应式布局、移动设备优先的 WEB 项目。

Bootstrap 是一套用于 HTML、CSS 和 JS 开发的开源工具集。利用我们提供的 Sass 变量和大量 mixin、响应式栅格系统、可扩展的预制组件、基于 jQuery 的强大的插件系统,能够快速为你的想法开发出原型或者构建整个 app 。 --- BootStrap 4.x.x 版本

那么,什么是响应式布局呢?

通俗的理解,就是在不同的屏幕规格上能够有不同的布局效果,比如在大尺寸屏幕上呈现多列的布局,在小尺寸屏幕上呈现不了这么多,可能就只剩下一列布局了。

那么,当屏幕尺寸发生变化时,在不同屏幕规格上,应该呈现怎样的布局,一般是通过媒体查询 @Media 来实现,但自己在 CSS 中书写的话,需要处理较多工作。

所以,也可以选择一些热门的框架,由它来帮忙处理这些响应式布局的工作,就像 BootStrap,但 BootStrap 功能不仅只有响应式功能,它还内置了很多预制组件等等,总之,很强大,虽然我还没用过。

使用

那就来学学如何使用,首先第一步肯定是安装,我直接选择最新版 4.x.x 系列的来作为入手了,旧版本没去了解,有机会再说。

将 BootStrap 引入项目中使用有两种方式:

  • 直接使用网上资源
  • 将相关资源下载至本地使用

使用网上资源

第一种方式最简单,直接在 HTML 文档中声明 css 和 js 文件来源即可,如:



  
    
    
    

    
    

    Hello, world!
  
  
    

Hello, world!

使用 BootStrap,上面的 HTML 文档模板是必须的,带有注释的都是在所有使用了 BootStrap 的页面中需要引入的,需要注意的是,由于 BootStrap 一些组件依赖于 jQuery 和 Popper,所以需要引入这两份 js,而且顺序是 jQuery 先,Popper 后,最后再引入 BootStrap 提供的 bootstrap.min.js。

这是第一种方式,也是最省力的。

将资源下载至本地使用

这种方式就比较折腾了,好处就在于资源文件都可以放在自己服务器上,无需依赖他人。下载资源到本地也有两种方式,一是手动到官网下载,下面三个地址:

下载 BootStrap

下载 jQuery

下载 popper

二是利用一些工具来下载,如 node.js 的 npm 命令来下载,打开终端,进入项目的根目录:

  1. npm init -y

  2. npm install bootstrap

  3. npm install jquery

  4. npm install popper.js --save

如果执行命令过程中报错了,自行去搜索解决吧,我是一次性成功,没出啥问题,都下载结束后,项目里的结构如下,node_modules 文件夹里会有下载好的资源:

package.json 配置项如下:

这是我下载使用的版本。

好,不管是手动去下载,还是接着 npm 下载,最后都需要将下载的资源放进项目中,那么,下载下来的这么多东西,该怎么用,哪些是有用的?

可借鉴上面第一种方式里的 HTML 文档,总共需要的其实就四份文件:

  • bootstrap.min.css
  • jquery.slim.min.js
  • popper.min.js
  • bootstrap.min.js

分别找下四份文件在哪,我的是在这几个路径下:




    
    
    

    
    

    Hello, world!


Hello, world!

官方教程说了,上面这是使用 BootStrap 的 HTML 模板,当然也有进行了解释,下面稍微说说:

这是 h5 的 HTML 文档的声明,不加这句的话,可能会出现一些奇怪的样式;

这行代码表示的意思是,让网页可以自动适应当前移动设备的屏幕。

所以,使用 BootStrap 除了需要在 HTML 文档中引入所需的资源文件外,别忘了加上上面两个处理。

官方示例

BootStrap 4.x.x 版本,官方还没有中文教程,3.x.x 的中文教程倒是很齐全了。但 4.x.x 版本和 3.x.x 版本差别还是蛮大的,首先,4.x.x 选用 Sass 来作为预处理器,选择 flex 来实现它的栅格布局系统等等。

反正,BootStrap 本质就就是一个框架,封装了一系列的属性样式、组件给开发者使用,开发者只要了解有哪些属性样式可以用、有哪些组件可以用、效果怎么样、怎么用就可以了,至于这些,就只能是一步步在实际开发中,一边写一边查文档来慢慢积累了。

所以,本篇也就不会去列举各个组件效果、属性样式效果、还一个个去说明怎么用。

接下去的内容,就是想着,能够读懂官方某个示例项目的代码就足够了。

选择了官方的这个示例:Album

一步步来读懂它的 HTML 代码吧:

  • 第一步就是 HTML 的模板了,就上一小节中介绍的,需要进行 H5 声明、meta 声明、引入四个资源文件的那份模板;
  • 第二步,来看看 内的
    代码:



    
    
    

    
    

    Hello, world!



看看效果:

目前的代码里,我们完全没有写过 CSS,只在 HTML 文档中,添加了

标签内容,就能够达到这样的页面效果了,所以,其实,BootStrap 已经封装好了一大堆属性样式,我们只要在标签上通过 class 将这些属性样式应用起来就可以了。

示例中使用的 class 很多,基本都是 BootStrap 封装好的,我也没想把所有用到的都搞清楚具体作用,只是想了解个大概,后续在使用中慢慢积累学习吧。

对于这个

的效果,我主要想理清楚两点:

  • 展开和折叠是怎么实现的?
  • 展开时那些列表是如何实现的?

回过头看上面的动图,

部分是作为导航栏,并且存在两种状态,折叠和展开,所以两种状态对应着两个
儿子标签里刚好两个

看第一个

的 class:collapse bg-dark,collapse 是折叠的意思,所以第一个
就是一开始被折叠的容器,而控制这个
折叠起来,也就是 BootStrap 提供的 collapse 起的作用了;

同层次的第二个

的 class:navbar navbar-dark bg-dark box-shadow,两个
都有同一个 bg-dark,那么这个其实就是用来设置背景的,因为展开后,其实
区域是由两个
拼接起来的,只是背景色刚好一样,看不出来而已。

所以,页面渲染后,其实有个

被 collapse 折叠起来了,此时页面上只呈现第二个
内容而已,这个
的高度等样式由 navbar、navbar-dark、bg-dark 这些决定。

那么,点击完按钮后,第一个

为什么会被展开了呢?

看一下那个按钮:

阅读需要支付1元查看
<