1. 程式人生 > 其它 >前端之Bootstrap框架

前端之Bootstrap框架

前端之Bootstrap框架

目錄

一、Bootstrap簡介

Bootstrap 是最受歡迎的 HTML、CSS 和 JS 框架,用於開發響應式佈局、移動裝置優先的 WEB 專案。

在使用Bootstrap的時候所有的頁面樣式都只需要你通過class來調節即可。【原理其實很簡單,就是別人替你進行了封裝(寫好了相關的class類),你只需要匯入檔案,然後直接使用即可】

版本選擇建議使用v3版本:

https://v3.bootcss.com/

注意:bootstrap的js程式碼是依賴於jQuery的,也就意味著你在使用Bootstrap動態效果的時候,一定要匯入jQuery

因為bootstrap官方文件十分齊全,所以在此只做一下簡單的使用,完整版參考官方文件,十分簡單。

二、環境配置

html檔案匯入如下

 <link rel="stylesheet" href="bootstrap-3.4.1-dist/css/bootstrap.min.css">
 <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
 <script src="bootstrap-3.4.1-dist/js/bootstrap.min.js"></script>

三、全域性CSS樣式

Bootstrap 將設定全域性的 CSS 樣式。HTML 的基本元素均可以通過 class 設定樣式並得到增強效果。還有先進的柵格系統。

1、佈局容器

Bootstrap 需要為頁面內容和柵格系統包裹一個 .container 容器。我們提供了兩個作此用處的類。注意,由於 padding 等屬性的原因,這兩種 容器類不能互相巢狀。

.container 類用於固定寬度並支援響應式佈局的容器。

<div class="container">  左右兩側有留白
  ...
</div>

.container-fluid 類用於 100% 寬度,佔據全部視口(viewport)的容器。

<div class="container-fluid">  左右兩側沒有留白
  ...
</div>

總結:後續在使用bootstrap做頁面的時候 上來先寫一個div,class="container",之後在div內部書寫頁面

2、柵格系統

Bootstrap 提供了一套響應式、移動裝置優先的流式柵格系統,隨著螢幕或視口(viewport)尺寸的增加,系統會自動分為最多12列

<div class="row"></div>
寫一個row就是將所在的區域劃分成12份

<div class="col-md-6 ">  獲取你所要的份數
# 在使用bootstrap的時候 腦子裡面一定要做12的加減法

可以使用以下程式碼驗證

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="bootstrap-3.4.1-dist/css/bootstrap.min.css">
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script src="bootstrap-3.4.1-dist/js/bootstrap.min.js"></script>
    <style>
        #d1 {
            background-color: red;
            height: 100px;
            border: 5px solid black;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="row">
            <div class="col-md-1" id="d1"></div>
            <div class="col-md-1" id="d1"></div>
            <div class="col-md-1" id="d1"></div>
            <div class="col-md-1" id="d1"></div>
            <div class="col-md-1" id="d1"></div>
            <div class="col-md-1" id="d1"></div>
            <div class="col-md-1" id="d1"></div>
            <div class="col-md-1" id="d1"></div>
            <div class="col-md-1" id="d1"></div>
            <div class="col-md-1" id="d1"></div>
            <div class="col-md-1" id="d1"></div>
            <div class="col-md-1" id="d1"></div>
        </div>
    </div>
</body>
</html>

3、柵格引數

.col-xs-	.col-sm-	.col-md-	.col-lg-
# 針對不同的顯示器 bootstrap會自動選擇對應的引數
# 如果你想要相容所有的顯示器 你就全部加上即可

# 在一行如何移動位置
<div class="col-md-8 c1 col-md-offset-2"></div>

程式碼測試如下

<div class="container">
        <div class="row">
            <div class="col-xs-1" id="d1"></div>
            <div class="col-xs-1" id="d1"></div>
            <div class="col-xs-1" id="d1"></div>
            <div class="col-xs-1" id="d1"></div>
            <div class="col-xs-1" id="d1"></div>
            <div class="col-xs-1" id="d1"></div>
            <div class="col-xs-1" id="d1"></div>
            <div class="col-xs-1" id="d1"></div>
            <div class="col-xs-1" id="d1"></div>
            <div class="col-xs-1" id="d1"></div>
            <div class="col-xs-1" id="d1"></div>
            <div class="col-xs-1" id="d1"></div>
</div>

4、排版

bootstrap將所有原生的HTML標籤的文字字型統一設定成了肉眼可以接受的樣式,將一部分標籤的樣式進行了改變,比如:a、p 等。

同時,bootstrap提供了效果一樣的標籤,但是標籤表達的意思不一樣(語義)。

5、表格

我們使用原生的html程式碼製作表格

<table>
        <thead>
            <tr>
                <th>編號</th>
                <th>姓名</th>
                <th>年齡</th>
                <th>性別</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>1</td>
                <td>楊毅</td>
                <td>18</td>
                <td>男</td>
            </tr>
            <tr>
                <td>2</td>
                <td>楊毅</td>
                <td>18</td>
                <td>男</td>
            </tr>
            <tr>
                <td>3</td>
                <td>楊毅</td>
                <td>18</td>
                <td>男</td>
            </tr>
        </tbody>
</table>

我們可以使用bootstrap進行美化,發現好看了不少

<table class="table table-hover table-striped table-bordered">
        <thead>
            <tr class="success">
                <th>編號</th>
                <th>姓名</th>
                <th>年齡</th>
                <th>性別</th>
            </tr>
        </thead>
        <tbody>
            <tr class="active">
                <td>1</td>
                <td>楊毅</td>
                <td>18</td>
                <td>男</td>
            </tr>
            <tr class="warning">
                <td>2</td>
                <td>楊毅</td>
                <td>18</td>
                <td>男</td>
            </tr>
            <tr class="danger">
                <td>3</td>
                <td>楊毅</td>
                <td>18</td>
                <td>男</td>
            </tr>
        </tbody>
    </table>

6、表單

重點:針對表單標籤 加樣式就用form-control,class="form-control"

<div class="container">
    <div class="col-md-8 col-md-offset-2">
        <h2 class="text-center">登陸頁面</h2>
        <form action="">
            <p>username:<input type="text" class="form-control"></p>
            <p>password:<input type="text" class="form-control"></p>
            <p>
                <select name="" id="" class="form-control">
                    <option value="">111</option>
                    <option value="">222</option>
                    <option value="">333</option>
                </select>
            </p>
            <textarea name="" id="" cols="30" rows="10" class="form-control"></textarea>
            <input type="submit">
        </form>
    </div>
</div>

"""
<input type="checkbox">222
<input type="radio">333
checkbox和radio我們一般不會給它加form-control,直接使用原生的即可
"""

# 針對報錯資訊 可以加has-error(input的父標籤加)【input邊框有紅色效果】
<p class="has-error">
	username:
  <input type="text" class="form-control">
</p>

7、按鈕

# 將連結設定為按鈕
<a href="https://www.baidu.com/" class="btn btn-primary">點我</a> 

<button class="btn btn-danger">按我</button>
<button class="btn btn-default">按我</button>
<button class="btn btn-success">按我</button>
<button class="btn btn-info">按我</button>
<button class="btn btn-warning">按我</button>


<button class="btn btn-warning btn-lg">按我</button>
<button class="btn btn-warning btn-sm">按我</button>
<button class="btn btn-warning btn-xs">按我</button>
<input type="submit" class="btn btn-primary btn-block">  
通過給按鈕新增 .btn-block 類可以將其拉伸至父元素100%的寬度,而且按鈕也變為了塊級(block)元素。

8、圖表

<style>
        span {
            color: greenyellow;
        }
</style>

"""一般使用span標籤來新增圖示,因為span是行內標籤,同時圖白哦的顏色可以用文字顏色來進行修改"""
<h2 class="text-center">登陸頁面 <span class="glyphicon glyphicon-user"></span></h2>

四、元件

1、導航條

<nav class="navbar navbar-default">  # 預設顏色
<nav class="navbar navbar-inverse">  # 黑色

2、分頁器

<nav aria-label="Page navigation">
  <ul class="pagination">
    <li>
      <a href="#" aria-label="Previous">
        <span aria-hidden="true">&laquo;</span>
      </a>
    </li>
    <li><a href="#">1</a></li>
    <li><a href="#">2</a></li>
    <li><a href="#">3</a></li>
    <li><a href="#">4</a></li>
    <li><a href="#">5</a></li>
    <li>
      <a href="#" aria-label="Next">
        <span aria-hidden="true">&raquo;</span>
      </a>
    </li>
  </ul>
</nav>

3、彈框

https://lipis.github.io/bootstrap-sweetalert/
    
swal('你還好嗎?')
undefined
swal('你還好嗎?')
undefined
swal('你還好嗎?','我很好!')
undefined
swal('你還好嗎?','我很好!!','success')
undefined
swal('你還好嗎?','我很好!','warning')
undefined
swal('你還好嗎?','我很好!','error')
undefined
swal('你還好嗎?','我很好!','info')
undefined

五、案例

由此,我們可以使用Bootstrap快速搭建一個簡單的頁面。

程式碼如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="bootstrap-3.4.1-dist/css/bootstrap.min.css">
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script src="bootstrap-3.4.1-dist/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container-fluid">
    <nav class="navbar navbar-inverse">
      <div class="container-fluid">
        <!-- Brand and toggle get grouped for better mobile display -->
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
            <span class="sr-only"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="#">圖書管理系統</a>
        </div>

        <!-- Collect the nav links, forms, and other content for toggling -->
        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
          <ul class="nav navbar-nav">
            <li class="active"><a href="#">圖書 <span class="sr-only">(current)</span></a></li>
            <li><a href="#">作者</a></li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">更多 <span class="caret"></span></a>
              <ul class="dropdown-menu">
                <li><a href="#">交流論壇</a></li>
                <li><a href="#">經驗分享</a></li>
                <li><a href="#">學習專區</a></li>
              </ul>
            </li>
          </ul>
          <form class="navbar-form navbar-left">
            <div class="form-group">
              <input type="text" class="form-control" placeholder="Search">
            </div>
            <button type="submit" class="btn btn-default">提交</button>
          </form>
          <ul class="nav navbar-nav navbar-right">
            <li><a href="#">楊毅</a></li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">個人資訊 <span class="caret"></span></a>
              <ul class="dropdown-menu">
                <li><a href="#">Action</a></li>
                <li><a href="#">Another action</a></li>
                <li><a href="#">Something else here</a></li>
                <li role="separator" class="divider"></li>
                <li><a href="#">Separated link</a></li>
              </ul>
            </li>
          </ul>
        </div><!-- /.navbar-collapse -->
      </div><!-- /.container-fluid -->
    </nav>
    <div class="row">
        <div class="col-md-3">
            <div class="list-group">
              <a href="#" class="list-group-item active">
                圖書列表
              </a>
              <a href="#" class="list-group-item">作者列表</a>
              <a href="#" class="list-group-item">論壇列表</a>
              <a href="#" class="list-group-item">出版社列表</a>
              <a href="#" class="list-group-item">資訊反饋</a>
            </div>
        </div>
        <div class="col-md-9">
            <div class="panel panel-primary">
                  <div class="panel-heading ">
                    <h3 class="panel-title">圖書管理系統<span class="glyphicon glyphicon-qrcode pull-right"></span></h3>
                  </div>
                  <div class="panel-body">
                     <div class="row">
                         <div class="col-lg-6">
                            <div class="input-group">
                              <input type="text" class="form-control" placeholder="Search for...">
                              <span class="input-group-btn">
                                <button class="btn btn-default" type="button">Go!</button>
                              </span>
                            </div><!-- /input-group -->
                         </div><!-- /.col-lg-6 -->
                        <button class="btn btn-primary">新增</button>
                    </div>
                      <br>
                     <div class="row">
                         <table class="table table-hover table-striped table-bordered">
                             <thead>
                                <tr>
                                    <th class="text-center">ID</th>
                                    <th class="text-center">書名</th>
                                    <th class="text-center">作者</th>
                                    <th class="text-center">分類</th>
                                    <th class="text-center">價格</th>
                                    <th class="text-center">操作</th>
                                </tr>
                             </thead>
                             <tbody>
                                 <tr>
                                    <td class="text-center">1</td>
                                    <td class="text-center">《百年孤獨》</td>
                                    <td class="text-center">加西亞·馬爾克斯</td>
                                    <td class="text-center">文學</td>
                                    <td class="text-center">48.0</td>
                                    <td class="text-center">
                                        <button class="btn btn-primary btn-xs">編輯</button>
                                        <button class="btn btn-warning btn-xs">刪除</button>
                                    </td>
                                </tr>
                                 <tr>
                                        <td class="text-center">2</td>
                                        <td class="text-center">《圍城》</td>
                                        <td class="text-center">錢鍾書</td>
                                        <td class="text-center">文學</td>
                                        <td class="text-center">24.0</td>
                                        <td class="text-center">
                                            <button class="btn btn-primary btn-xs">編輯</button>
                                            <button class="btn btn-warning btn-xs">刪除</button>
                                        </td>
                                    </tr>
                                 <tr>
                                        <td class="text-center">3</td>
                                        <td class="text-center">《我們仨》</td>
                                        <td class="text-center">楊絳</td>
                                        <td class="text-center">文學</td>
                                        <td class="text-center">15.0</td>
                                        <td class="text-center">
                                            <button class="btn btn-primary btn-xs">編輯</button>
                                            <button class="btn btn-warning btn-xs">刪除</button>
                                        </td>
                                    </tr>
                                 <tr>
                                        <td class="text-center">4</td>
                                        <td class="text-center">《黃金時代》</td>
                                        <td class="text-center">王小波</td>
                                        <td class="text-center">小說</td>
                                        <td class="text-center">30.0</td>
                                        <td class="text-center">
                                            <button class="btn btn-primary btn-xs">編輯</button>
                                            <button class="btn btn-warning btn-xs">刪除</button>
                                        </td>
                                    </tr>
                                 <tr>
                                        <td class="text-center">1</td>
                                        <td class="text-center">《原則》</td>
                                        <td class="text-center">瑞·達內歐</td>
                                        <td class="text-center">文學</td>
                                        <td class="text-center">48.0</td>
                                        <td class="text-center">
                                            <button class="btn btn-primary btn-xs">編輯</button>
                                            <button class="btn btn-warning btn-xs">刪除</button>
                                        </td>
                                    </tr>
                                 <tr>
                                        <td class="text-center">1</td>
                                        <td class="text-center">《窮查理寶典》</td>
                                        <td class="text-center">查理·芒格</td>
                                        <td class="text-center">文學</td>
                                        <td class="text-center">78.0</td>
                                        <td class="text-center">
                                            <button class="btn btn-primary btn-xs">編輯</button>
                                            <button class="btn btn-warning btn-xs">刪除</button>
                                        </td>
                                    </tr>
                             </tbody>
                         </table>
                        <nav aria-label="Page navigation" class="text-center">
                          <ul class="pagination">
                            <li>
                              <a href="#" aria-label="Previous">
                                <span aria-hidden="true">&laquo;</span>
                              </a>
                            </li>
                            <li><a href="#">1</a></li>
                            <li><a href="#">2</a></li>
                            <li><a href="#">3</a></li>
                            <li><a href="#">4</a></li>
                            <li><a href="#">5</a></li>
                            <li>
                              <a href="#" aria-label="Next">
                                <span aria-hidden="true">&raquo;</span>
                              </a>
                            </li>
                          </ul>
                        </nav>
                     </div>
                  </div>
            </div>
        </div>
    </div>
</div>
</body>
</html>