目录
理解:Bootstrap 是最受欢迎的 HTML、CSS 和 JS 框架,用于开发响应式布局、移动设备优先的 WEB 项目。
bootstrap中文网:https://www.bootcss.com/
导入Bootstrap的css文件:bootstrap.min.css
导入Bootstrap的js文件:bootstrap.min.js
导入jquery的js文件:jquery.js
- html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
-
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
-
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>bootstraptitle>
-
- <link href="./lib/bootstrap.min.css" rel="stylesheet"/>
-
- <script src="./lib/jquery.js">script>
-
- <script src="./lib/bootstrap.min.js">script>
- head>
- <body>
- <h1>hello bootstraph1>
- body>
- html>
container类用于固定宽度(宽度大小可以设置)并支持响应布局的容器(两侧会有留白,留白的大小取决于宽度的大小),但是高度需要具体大小来撑起
- .container{
- width: 300px;
- background-color: aquamarine;
- }
- <body>
- <div class="container">
- hello bootstrap
- div>
- body>
container-fluid类用于完整(100%)宽度,占全部视口的容器(若在此基础上设置宽度就变成固定宽度,两侧就会有留白效果)。
- .container-fluid{
- background-color: aquamarine;
- }
- <body>
- <div class="container-fluid">
- hello bootstrap
- div>
- body>
bootstrap提供了一套响应式、移动设备优先的流式栅格系统,随着屏幕视口尺寸的增加,系统会自动分成最多12列。栅格系统用于通过一系列的行与列的组合来创建页面布局,你的内容就可以放到这些创建好的布局中
原理:通过定义容器的大小,平分成12份(也有平分成24/32份)最后结合媒体查询就制作出强大的响应式网格系统。bootstrap中的网格系统就是平分成12份
- <div class="container">
- <!-- 一行有12列 -->
- <div class="row">
- <div class="col-md-4">占4列</div>
- <div class="col-md-8">占8列</div>
- </div>
- </div>
-
- <div class="container">
- <!-- 一行有12列 -->
- <div class="row">
- <!-- 设置大屏幕一次占列,小屏幕一次占6列 -->
- <div class="col-md-3 col-sm-6" style="background-color: papayawhip;">1</div>
- <div class="col-md-3 col-sm-6" style="background-color: yellow;">2</div>
- <div class="col-md-3 col-sm-6" style="background-color: skyblue;">2</div>
- <div class="col-md-3 col-sm-6" style="background-color: orange;">2</div>
- </div>
- </div>
-
-
注意:
列组合:更改数字来合并列(原则:列总和不能超过12,大于12则自动换到下一行)
列偏移:该列偏移后,那么后面的所有列都跟着偏移
- <div class="container">
- <!-- 一行有12列 -->
- <div class="row">
- <!-- 该列距离左边有1个格子的偏移量 -->
- <div class="col-md-4 col-md-offset-1" style="background-color: antiquewhite;">占4列</div>
- <div class="col-md-4" style="background-color: yellow;">占4列</div>
- </div>
- </div>
含义:改变列的方向,就是改变左右浮动,并且设置浮动的距离。在bootstrap框架网格系统中是通过添加类名col-md-push-*和col-md-pull-*表示(图中*代表移动的列的组合数。)往前pull,往后push
- <div class="container">
- <!-- 一行有12列 -->
- <div class="row">
- <!-- 第一个块向右移动了2个列,第二个列没移动,因此第二个列盖住第一个列的后半部分 -->
- <div class="col-md-4 col-md-push-2" style="background-color: antiquewhite;">占4列</div>
- <div class="col-md-4" style="background-color: yellow;">占4列</div>
- </div>
- </div>
理解:你可以在一个列中添加一个或多个row行容器,然后在这个行容器中插入列
- <div class="container">
- <!-- 一行有12列 -->
- <div class="row">
- <div class="col-md-4">
- <div class="row">
- <div class="col-md-4">1</div>
- <div class="col-md-4">2</div>
- <div class="col-md-4">3</div>
- </div>
- </div>
- <div class="col-md-4">第二列</div>
- </div>
- </div>
- <body>
- <div class="h1">标题1<small>副标题</small></div>
- <h2>标题2<span class="small">副标题</span></h2>
- <h3>标题3</h3>
- </body>
- <body>
- <p>我是一段话,<b>字号被加粗</b></p>
- <p class="lead">我是一段加lead类的话,<span class="small">字号减小</span></p>
- </body>
定义一套类名,通过以下颜色表示强调
- <body>
- <div class="text-muted">提示效果</div>
- <div class="text-primary">主要效果</div>
- <div class="text-success">成功效果</div>
- <div class="text-info">信息效果</div>
- <div class="text-warning">警告效果</div>
- <div class="text-danger">危险效果</div>
- </body>
前言:bootstrap定义4个类名来控制文本的对齐风格
- <body>
- <p class="text-left">我是左对齐</p>
- <p class="text-right">我是右对齐</p>
- <p class="text-center">我是居中对齐</p>
- <p class="text-justify">我是两端对齐</p>
- </body>
含义:前面没有符号的例表
- <ul class="list-unstyled">
- <li>列表1</li>
- <li>列表2</li>
- </ul>
解释:把垂直列表换成水平列表,而且去掉项目符号,保持水平显示(制作水平导航时常用)其主要用list-inline类来表示。
- <ul class="list-inline">
- <li>列表1</li>
- <li>列表2</li>
- </ul>
前言:可以使用dl-horizontal来制作水平定义列表,当标题宽度超过160px时会显示三个省略号
- <dl class="dl-horizontal">
- <dt>html超文本标记语言,多出来的</dt>
- <dd>html为超文本标记语言,是一种标识性语言</dd>
- <dt>css为层叠样式表</dt>
- <dd>css为层叠样式表,为前端三剑客之一</dd>
- </dl>
- <body>
-
- <code>this is a simple codecode><br>
- <code>this is a simple codecode>
-
- <p>使用<kbd>ctrlkbd>+<kbd>skbd>保存内容p>
-
-
-
- <pre class="pre-scrollable">
- <h1>hello springboot</h1>
- public class PeopleApplication {
- public static void main(String[] args) {
- SpringApplication.run(PeopleApplication.class, args);
- }
- }
- pre>
- body>
前言:bootstrap为表格提供了一种基础样式和4种附加样式以及一个支持响应式的表格,在使用bootstrap表格的过程中,只需要添加对应的类名就可以得到不同的表格风格
基础样式
附加样式
注意:尽量在基础表格的情况下附加样式使用
- <body>
- <table class="table table-bordered">
- <tr>
- <td>11</td>
- <td>12</td>
- </tr>
- <tr>
- <td>21</td>
- <td>22</td>
- </tr>
- </table>
- </body>
表单标签用到的类
改变文本框大小
- <body>
- <div class="row">
- <!-- 文本框 -->
- <div class="col-md-3">
- <input type="text" class="form-control"/>
- </div>
- <!-- 下拉框 -->
- <div class="col-md-3">
- <select class="form-control" multiple="multiple">
- <option>北京</option>
- <option>上海</option>
- </select>
- </div>
- <!-- 文本域 -->
- <div class="col-md-3">
- <textarea class="form-control"></textarea>
- </div>
- </div>
- </body>
- <!-- 复选框 -->
- <div class="row">
- <!-- 垂直显示:通过div的class="checkbox"实现 -->
- <div class="col-md-3">
- <div class="checkbox">
- <label><input type="checkbox" name="hobby"/>唱歌</label>
- </div>
- <div class="checkbox">
- <label><input type="checkbox" name="hobby"/>跳舞</label>
- </div>
- </div>
- <!-- 水平显示:通过label标签的class="checkbox-inline"实现 -->
- <div class="col-md-3">
- <label class="checkbox-inline">
- <input type="checkbox" name="hobby"/>唱歌
- </label>
- <label class="checkbox-inline">
- <input type="checkbox" name="hobby"/>跳舞
- </label>
- </div>
- </div>
- <!-- 单选框 -->
- <div class="row">
- <!-- 垂直显示:通过div的class="radio"实现 -->
- <div class="col-md-3">
- <div class="radio">
- <label><input type="radio" name="sex"/>男</label>
- </div>
- <div class="radio">
- <label><input type="radio" name="sex"/>女</label>
- </div>
- </div>
- <!-- 水平显示:通过label标签的class="radio-inline"实现 -->
- <div class="col-md-3">
- <label class="radio-inline">
- <input type="radio" name="sex"/>男
- </label>
- <label class="radio-inline">
- <input type="radio" name="sex"/>女
- </label>
- </div>
- </div>
前言:使用具体的类代表特定样式的按钮(不仅可以使用在button标签里,也可以使用在其他标签里)
基础样式:btn
- <button class="btn">按钮</button>
- <a href="https://www.baidu.com" class="btn btn-primary">链接</a>
附加样式:btn-primary、btn-info、btn-success、btn-warning、btn-danger、btn-link、btn-default
- <body>
- <button class="btn">普通按钮</button>
- <button class="btn btn-primary">primary按钮</button>
- <button class="btn btn-danger">danger按钮</button>
- <button class="btn btn-success">success按钮</button>
- <button class="btn btn-warning">warning按钮</button>
- <button class="btn btn-info">info按钮</button>
- <button class="btn btn-default">default按钮</button>
- <button class="btn btn-link">link按钮</button>
- </body>
- <body>
- <button class="btn">按钮1</button>
- <button class="btn btn-lg">按钮2</button>
- <button class="btn btn-sm">按钮3</button>
- <button class="btn btn-xs">按钮4</button>
- </body>
- <body>
- <button class="btn">按钮</button>
- <!-- 点击事件失败 -->
- <button class="btn" disabled onclick="alert('hello')">按钮1</button>
- <!-- 点击事件成功 -->
- <button class="btn disabled" onclick="alert('hello')">按钮2</button>
- </body>
基本表单结构都是Bootstrap自带的,个别表单控件会自动接收一些全局样式,下面列出创建基本表单的步骤
表单类名为form-horizontal(配合网格系统使用)
- <!-- 水平表单 -->
- <form action="#" class="form-horizontal" role=“form”>
- <!-- 表单中的表单元素 -->
- <div class="form-group">
- <!-- label的样式 -->
- <label for="uname" class="control-label col-md-2">姓名</label>
- <div class="col-md-8">
- <input type="text" id="uname" class="form-control" placeholder="请输入您的姓名"/>
- </div>
- </div>
- <div class="form-group">
- <!-- label的样式 -->
- <label for="upwd" class="control-label col-md-2">密码</label>
- <div class="col-md-8">
- <input type="text" id="upwd" class="form-control" placeholder="请输入您的密码"/>
- </div>
- </div>
- <div class="form-group">
- <div class="col-md-2 col-md-offset-5">
- <button class="btn btn-primary">提交</button>
- </div>
- </div>
- </form>
理解:将表单控件都放到一行显示,用到的表单类名为form-inline
- <form action="#" class="form-inline" role="form">
- <div class="form-group">
- <label for="username">姓名</label>
- <input type="text" id="username" class="form-control" placeholder="请输入您的姓名"/>
- </div>
- <div class="form-group">
- <label for="password">密码</label>
- <input type="text" id="password" class="form-control" placeholder="请输入您的密码"/>
- </div>
- <div class="form-group">
- <button class="btn btn-default">提交</button>
- </div>
- </form>
注意:这里不用设置格子,因为它所有元素都在一行,设置格子也没意义
前言:在bootstrap中类名为thumbnail的块将被解析为缩略图
注意:缩略图的实现是配合网格系统一起使用,同时还可以让缩略图配合标题、描述内容按钮等
- class="container">
- <div class="row">
- <div class="col-md-3">
-
- <div class="thumbnail">
- <img src="./static/1.jpg" style="width:240px;height:360px;">
- <h3>高圆圆h3>
- <p>出生于北京,中国内地影视女演员,模特。p>
- <button class="btn btn-default">
-
- <span class="glyphicon glyphicon-heart">span>喜欢
- button>
- <button class="btn btn-info">
- <span class="glyphicon glyphicon-pencil">span>评论
- button>
- div>
- div>
- div>
- div>
面板
前言:使用具体的类名代表特定样式的面板
基础样式:panel
附加样式(面板颜色)
- panel-primary:重点蓝
panel-success:
成功绿panel-info:
信息蓝panel-warning:
警告黄panel-danger:
危险红
注意:面板由面板头和面板体以及面板尾部构成
- <div class="panel panel-warning">
-
- <div class="panel-heading">
- 离骚
- div>
-
- <div class="panel-body">
- 路漫漫其修远兮,吾将上下而求索。
- div>
-
- <div class="panel-footer">
- 作者:屈原
- div>
- div>
bootstrap插件
导航插件
前言:根据导航块的类名不同可以显示多种导航栏(通常与列表一起使用)
基础样式:nav
导航栏的分类(加在ul内)
- 标签型:nav-tabs
- 胶囊型:nav-pills
- 垂直型:nav-stacked
- 自适应:nav-justified
- 面包屑:breadcrumb(其不和nav基础样式一起使用,可以单独直接使用)
导航栏中的导航状态(加在li内)
- 选中状态:active状态
- 禁用状态:disable
标签式导航
- <p>标签式的导航菜单</p>
- <ul class="nav nav-tabs">
- <li><a href="#">Home</a></li>
- <!-- 默认选中 -->
- <li class="active"><a href="#">Java</a></li>
- <!-- 禁用导航 -->
- <li class="disabled"><a href="#">PHP</a></li>
- </ul>
胶囊型导航
- <p>基本的胶囊式导航菜单</p>
- <ul class="nav nav-pills">
- <li class="active"><a href="#">Home</a></li>
- <li><a href="#">Java</a></li>
- <li><a href="#">PHP</a></li>
- </ul>
垂直型导航
- <p>垂直的胶囊式导航菜单</p>
- <ul class="nav nav-pills nav-stacked">
- <li class="active"><a href="#">Home</a></li>
- <li><a href="#">Java</a></li>
- <li><a href="#">PHP</a></li>
- </ul>
两端对齐导航
- <p>两端对齐的导航元素</p>
- <ul class="nav nav-tabs nav-justified">
- <li class="active"><a href="#">Home</a></li>
- <li><a href="#">Java</a></li>
- <li><a href="#">PHP</a></li>
- </ul>
面包屑导航
- <p>面包屑式的导航元素</p>
- <ul class="breadcrumb">
- <li><a href="#">Home</a></li>
- <li><a href="#">Java</a></li>
- <li class="active"><a href="#">PHP</a></li>
- </ul>
分页导航
页码导航基本样式:ul标签上加pagination类
页码导航附加样式
- 页码变大:pagination-lg
- 页码变小:pagination-sm
翻页导航:ul标签上添加pager类
页码导航
- <ul class="pagination pagination-lg">
- <!-- 左双箭头 -->
- <li><a href="#">«</a></li>
- <li><a href="#">1</a></li>
- <li><a href="#">2</a></li>
- <li class="active"><a href="#">3</a></li>
- <!-- 右双箭头 -->
- <li><a href="#">»</a></li>
- </ul>
翻页导航
- <ul class="pager">
- <li><a href="#">上一页</a></li>
- <li><a href="#">下一页</a></li>
- </ul>
下拉菜单
注意:
- 在使用下拉菜单之前必须上面3个文件(bootstrap的css文件、jquery的js文件、bootstrap的js文件)都引入
- 下拉菜单的整体都必须在一个div块中,该块用下拉菜单类名修饰(dropdown或btn-group:下拉菜单、dropup:上拉菜单)
- 按钮应使用button作为父菜单,使用类名:dropdown-toggle(下拉菜单的样式)和data-toggle=“dropdown”属性
- 设置下拉箭头使用行内元素的caret类
- 下拉菜单的列表用dropdown-menu类标识,该列表内有列表头,用dropdown-header类标识,多个列表头之间用分割线分开,用divider类标识。
- 若想要选中列表中的某个元素,则该元素用active类标识;若想要禁用列表中的某个元素,则该元素用disabled类标识
- <!-- 使用一个类名为dropdown或btn-group的div包裹整个下拉框(向下:dropdown;向上:dropup) -->
- <div class="dropdown">
- <!-- 使用button作为父菜单,使用类名:dropdown-toggle和自定义data-toggle属性 -->
- <button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
- 频道
- <!-- 设置下拉箭头(caret类) -->
- <span class="caret"></span>
- </button>
- <!-- 下拉菜单使用一个ul列表,并定义一个类名为dropdown-menu -->
- <ul class="dropdown-menu">
- <!-- 分组标题,添加类名dropdown-header -->
- <li class="dropdown-header">--科普--</li>
- <li class="active"><a href="#">人与自然</a></li>
- <li><a href="#">动物世界</a></li>
- <!-- 添加分割线,添加divider类 -->
- <li class="divider"></li>
- <li class="dropdown-header">--搞笑--</li>
- <li class="disabled"><a href="#">快乐大本营</a></li>
- <li><a href="#">生活大爆炸</a></li>
- </ul>
- </div>
模态框
理解:模态框是父窗体上的子窗体,通常,目的是显示一个单独的源的内容,可以在不离开父窗体的情况下有一些互动,子窗体可以提供信息、交互等
模态框的使用
- 通过 data 属性:在控制器元素(比如按钮或者链接)上设置属性 data-toggle="modal",同时设置 data-target="#identifier" 或 href="#identifier" 来指定要切换的特定的模态框(带有 id="identifier"的模态框)。
- 通过 JavaScript:使用这种技术,您可以通过简单的一行 JavaScript 来调用特定的模态框
$('#identifier').modal(options)
注意:options为特定的函数;(展示模态框的函数:show、隐藏模态框函数:hide)
通过data属性使用模态框
-
创建模态框(Modal)
-
-
- <button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">开始演示模态框button>
-
-
-
- <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
- <div class="modal-dialog">
- <div class="modal-content">
-
- <div class="modal-header">
-
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×button>
-
- <h4 class="modal-title" id="myModalLabel">模态框标题h4>
- div>
-
- <div class="modal-body">在这里添加一些文本div>
-
- <div class="modal-footer">
-
- <button type="button" class="btn btn-default" data-dismiss="modal">关闭button>
- <button type="button" class="btn btn-primary">提交更改button>
- div>
- div>
- div>
- div>
通过js使用模态框
- <link rel="stylesheet" href="./lib/bootstrap.min.css">
- <script src="./lib/jquery.js">script>
- <script src="./lib/bootstrap.min.js">script>
-
- <div class="btn btn-primary" id="btn">打开模态框div>
- <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
- <div class="modal-dialog">
- <div class="modal-content">
- <div class="modal-header">
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×button>
- <h4 class="modal-title" id="myModalLabel">模态框标题h4>
- div>
- <div class="modal-body">在这里添加一些文本div>
- <div class="modal-footer">
- <button type="button" class="btn btn-default" data-dismiss="modal">关闭button>
- <button type="button" class="btn btn-primary" id="submitBtn">提交更改button>
- div>
- div>
- div>
- div>
- body>
- <script>
- /* 模态框的显示 */
- $('#btn').on('click',function(){
- $("#myModal").modal("show")
- })
- /* 模态框的隐藏 */
- submitBtn.onclick=()=>{
- $("#myModal").modal("hide")
- }
- script>
总结:
- 在使用下拉菜单之前必须上面3个文件(bootstrap的css文件、jquery的js文件、bootstrap的js文件)都引入
- 模态框整体应放到一个div块内,用model类将此块识别为模态框,用fade类来添加模态框的淡入,淡出效果
- 通过事件调用$('#identifier').modal(options)函数(show、hide)来显示隐藏模态框
- data-toggle="modal"用于打开模态框窗口,data-dismiss="modal"属性用于关闭模态框窗口