zoukankan      html  css  js  c++  java
  • Bootstrap

    Bootstrap

    一、简介

    • Bootstrap是美国Twitter公司的设计师Mark Otto和Jacob Thornton合作基于HTML、CSS、JavaScript 开发的简洁、直观、强悍的前端开发框架,使得 Web 开发更加快捷。

    • 凡是使用过Bootstrap的开发者,都不在乎做这么两件事情:复制and粘贴。

    • 它用于开发响应式布局、移动设备优先的 WEB 项目

    二、安装

    1、本地链接

    官网下载

    2、CDN

    <!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"><!-- 可选的 Bootstrap 主题文件(一般不用引入) -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous"><!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
    View Code

    引入:

    <head>
        <!-- 在head标签上部导入bs的css -->
        <link rel="stylesheet" href="bootstrap-3.3.7-dist/css/bootstrap.css">
        <!-- 再导入自定义修改的css -->
        <link rel="stylesheet" href="css/my.css">
    </head>
    <body>
    <!-- html代码结构 -->
        ...
        
    <!--bs的脚本依赖于jq, 所以要提前导入jq-->
    <!--脚本逻辑尽量放在html结构之下-->
    <script src="js/jquery-3.3.1.js"></script>
    <script src="bootstrap-3.3.7-dist/js/bootstrap.js"></script>
    </body>

    三、布局容器

    Bootstrap 需要为页面内容和栅格系统包裹一个 .container 容器。我们提供了两个作此用处的类。注意,由于 padding 等属性的原因,这两种 容器类不能互相嵌套。

    .container 类用于固定宽度并支持响应式布局的容器

    <div class="container">
      ...
    </div>

    .container-fluid 类用于 100% 宽度,占据全部视口(viewport)的容器

    <div class="container-fluid">
      ...
    </div>
    • 固定宽度:.container

    • 流式布局:.container-fluid

     <!--总结; 两种容器(container | container-fluid)默认都有左右15px padding-->
    <!--固定宽度容器(采用响应式布局)-->
    <div class="container">
        <!-- 行: .row, 可以取消容器的默认左右15px padding-->
        <div class="row">
            <h1 class="bg-info">标题</h1>
        </div>
    </div>
    <!--动态宽度布局(采用流式布局)-->
    <div class="container-fluid">
        <div class="row">
            <h1 class="bg-info">标题</h1>
        </div>
    </div>

    四、响应式布局

    概念:开发了一种自适应写法,即一次开发,处处显示!

    • 超小屏幕:小于 768px

    • 小屏幕:大于等于 768px

    • 中等屏幕:大于等于 992px

    • 大屏幕:大于等于 1200px

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>容器于响应式</title>
        <link rel="stylesheet" href="bootstrap-3.3.7-dist/css/bootstrap.css">
        <style>
            .box {
                /* 500px;*/
                height: 100px;
                background-color: orange;
                margin: 0 auto;
            }
    
            /*屏幕尺寸 >1200px 会激活该响应式分支*/
            @media (min- 1200px) {
                .box {
                    width: 1200px;
                }
            }
            /*992px ~ 1200px*/
            @media (min- 992px) and (max- 1200px) {
                .box {
                    width: 992px;
                }
            }
            /*小于992px*/
             @media (max- 992px) {
                .box {
                    width: 50px;
                }
            }
    
            /*用来完成响应式布局
            @media (min- 768px) {
    
            }
            */
        </style>
    </head>
    <body>
        <!--响应式布局-->
        <div class="box"></div>
    
        <!--固定宽度容器(采用响应式布局)-->
        <div class="container">
            <!--缩放屏幕尺寸,发现宽度有四种状态存在 => 响应式布局-->
            <h1 class="bg-pink">标题</h1>
    
            <div class="container">
                <h1 class="bg-pink">子标题</h1>
            </div>
        </div>
        <!--动态宽度布局(采用流式布局)-->
        <div class="container-fluid">
            <h1 class="bg-pink">标题</h1>
        </div>
        <!--总结; 两种容器默认都有左右15px padding-->
    
        <!-- 行: .row, 可以取消容器的默认左右15px padding-->
        <div class="container">
            <div class="row">
                <h1 class="bg-info">标题</h1>
            </div>
        </div>
        <div class="container-fluid">
            <div class="row">
                <h1 class="bg-info">标题</h1>
            </div>
        </div>
        <!--行row就是配合容器来使用, 可以抵消容器默认padding, 且可以给内容按行分组-->
        <div class="container">
            <div class="row">
                ...
            </div>
            <div class="row">
                ...
            </div>
        </div>
    </body>
    <script src="js/jquery-3.3.1.js"></script>
    <script src="bootstrap-3.3.7-dist/js/bootstrap.js"></script>
    </html>
    容器响应式布局案例

    五、删格系统

    1、概念

    将所在父级的宽度等分为12等分
    四种屏幕尺寸 col-xs- | col-sm- | col-md- | col-lg-
    偏移 col-xs-offset- | ... | col-lg-offset-
    <div class="row">
        <div class="ele1 col-lg-4 col-xs-6"></div>
        <div class="ele2 col-lg-4 col-lg-offset-4 col-xs-6"></div>
    </div>
    <!-- 超大屏幕下: ele1占4等分 ele2与ele1间隔4等分,自己也占4等分 -->
    <!-- 在超小,小,中等屏幕下, ele1与ele2均占6等分 -->

    Bootstrap 提供了一套响应式、移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列

    栅格系统用于通过一系列的行(row)与列(column)的组合来创建页面布局,你的内容就可以放入这些创建好的布局中。下面就介绍一下 Bootstrap 栅格系统的工作原理:


    栅格参数:

    使用单一的一组 .col-md-* 栅格类,就可以创建一个基本的栅格系统,在手机和平板设备上一开始是堆叠在一起的(超小屏幕到小屏幕这一范围),在桌面(中等)屏幕设备上变为水平排列。所有“列(column)必须放在 ” .row 内。

    • 移动端适配

    <meta name="viewport" content="width=device-width, user-scaleable=no" />
    <!-- 适配移动端设备的每一个页面均需要设置 -->

    2、列比

    • 超小屏幕:.col-xs-*

    • 小屏幕:.col-sm-*

    • 中等屏幕:.col-md-*

    • 大屏幕:.col-lg-*

    只设置小屏列比会影响大屏列比;只设置大屏列比小屏时会撑满屏幕

    3、行

    <div class="row"></div>
    ...
    <div class="row"></div>

    4、列偏移

    • 超小屏幕:.col-xs-offset-*

    • 小屏幕:.col-sm-offset-*

    • 中等屏幕:.col-md-offset-*

    • 大屏幕:.col-lg-offset-*

    六、辅助类

    1、 情境背景色

    <p class="bg-primary">...</p>
    <p class="bg-success">...</p>
    <p class="bg-info">...</p>
    <p class="bg-warning">...</p>
    <p class="bg-danger">...</p>

    2、快速浮动

    <div class="pull-left">...</div>
    <div class="pull-right">...</div>

    3、快速清浮动

    <div class="clearfix">...</div>

    4、显隐

    <div class="show">...</div>
    <div class="hidden">...</div>

    七、字体图标

    <i class="glyphicon glyphicon-*"></i>

    八、组件

    表格表单 字体图标 下拉菜单 按钮组 输入框俎 导航 分页 标签和徽章 页头 缩率图 进度条 ...
    表格
    <!--striped条纹 bordered边框 hover悬浮-->
    <table class="table table-striped table-bordered table-hover">
        <tr style="text-align: center">
            <th>标题</th>
            <th>标题</th>
            <th>标题</th>
        </tr>
        <tr>
            <td>单元格</td>
            <td>单元格</td>
            <td>单元格</td>
        </tr>
        <!-- 颜色强调,整行tr 或 单元格 th|td -->
        <tr class="success">
            <td>单元格</td>
            <td>单元格</td>
            <td>单元格</td>
        </tr>
        <tr>
            <td>单元格</td>
            <td class="danger">单元格</td>
            <td>单元格</td>
        </tr>
        <tr>
            <td>单元格</td>
            <td class="info" colspan="2" style="text-align: center">单元格</td>
            <!--<td>单元格</td>-->
        </tr>
    </table>
    表单
    <form action="">
        <!-- 分行: form-group -->
        <div class="form-group">
            <!--label的for是关联匹配的input的id, 当label点击时会让input获取焦点-->
            <label for="usr">用户名:</label>
            <!-- form-control: bs控制 -->
            <input class="form-control" type="text" name="usr" id="usr">
        </div>
        <div class="form-group">
            <label for="pwd">密码:</label>
            <input class="form-control" type="password" name="pwd" id="pwd">
        </div>
        <div class="form-group checkbox">
            <!--复选框-->
            <label>
                <input type="checkbox" value="reading" name="sk">请阅读
            </label>
        </div>
    </form>
    
    <!-- 内联表单 -->
    <form class="form-inline"></form>
    
    <!-- label与input同行显示 -->
    <form action="" class="form-horizontal">
        <div class="form-group has-warning">
            <label for="usr2" class="col-sm-2 control-label">用户名:</label>
            <div class="col-sm-10">
                <input type="text" class="form-control" name="usr2" id="usr2" placeholder="请输入用户名">
            </div>
        </div>
    </form>

    官方文档
  • 相关阅读:
    Yii2 urles
    mpdf Could not find image file (http://local.com/xxxxx)
    如何 安装Yii2的高级应用程序模板
    yii2的GridView和ActiveDataProvider具体使用
    Yii2的框架笔记整理
    笔记
    phpstudy本地搭建域名访问
    phpstrom的xdebug开启和yii2下的分页的链接
    一些自己编写的简单的js
    几种经过整理的文件上传压缩和前台js压缩的方法
  • 原文地址:https://www.cnblogs.com/wanlei/p/10197657.html
Copyright © 2011-2022 走看看