bootstrap4 学习笔记(二)

Flex弹性布局(一)

  • 使用.d-flex和.d-inline-flex实现开启flex布局样式;
  • .flex-row可以呈现子元素水平方向的位置, 默认居左并从左到右显示(1, 2, 3)
  • .flex-row-reverse子元素水平方向居右从左到右显示(3, 2,1) ;
  • .flex-column实现子元素垂直效果,并从上往下显示(1, 2, 3)
  • .flex-column-reverse实现子元素垂直效果,并从上往下显示(3, 2,1)
  • justify-content-start(end、 center、 between、 around)实现内容对齐;
  • .align-items-start(end、center、 baseline、 stretch)实现项目对齐;
  • .align-self-start(end、center、 baseline、 stretch)实现单项目对齐;

样例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>弹性布局</title>
    <!-- 移动设备优先 -->
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- 引入Bootstrap CSS -->
    <link rel="stylesheet" href="css/bootstrap.css">


    <style>

    </style>
</head>
<body>
<div class="d-flex flex-row border border-dark mt-5">
    <div class="p-2 border border-success">one</div>
    <div class="p-2 border border-success">two</div>
    <div class="p-2 border border-success">three</div>
</div>

<div class="d-flex flex-row-reverse border border-dark mt-5">
    <div class="p-2 border border-success">one</div>
    <div class="p-2 border border-success">two</div>
    <div class="p-2 border border-success">three</div>
</div>

<div class="d-flex flex-row-reverse border border-dark mt-5 justify-content-start">
    <div class="p-2 border border-success">one</div>
    <div class="p-2 border border-success">two</div>
    <div class="p-2 border border-success">three</div>
</div>

<div class="d-flex flex-row border border-dark mt-5 justify-content-end">
    <div class="p-2 border border-success">one</div>
    <div class="p-2 border border-success">two</div>
    <div class="p-2 border border-success">three</div>
</div>

<div class="d-flex flex-row border border-dark mt-5 justify-content-start">
    <div class="p-2 border border-success">one</div>
    <div class="p-2 border border-success">two</div>
    <div class="p-2 border border-success">three</div>
</div>

<div class="d-flex flex-row border border-dark mt-5 justify-content-center">
    <div class="p-2 border border-success">one</div>
    <div class="p-2 border border-success">two</div>
    <div class="p-2 border border-success">three</div>
</div>

<div class="d-flex flex-row border border-dark mt-5 justify-content-around">
    <div class="p-2 border border-success">one</div>
    <div class="p-2 border border-success">two</div>
    <div class="p-2 border border-success">three</div>
</div>

<div class="d-flex flex-row border border-dark mt-5 justify-content-between">
    <div class="p-2 border border-success">one</div>
    <div class="p-2 border border-success">two</div>
    <div class="p-2 border border-success">three</div>
</div>

<div class="d-flex flex-row border border-dark mt-5 align-items-end" style="height:200px;">
    <div class="p-2 border border-success">one#</div>
    <div class="p-2 border border-success">two#</div>
    <div class="p-2 border border-success">three#</div>
</div>

<div class="d-flex flex-row border border-dark mt-5 align-items-start" style="height:200px;">
    <div class="p-2 border border-success">one#</div>
    <div class="p-2 border border-success">two#</div>
    <div class="p-2 border border-success">three#</div>
</div>

<div class="d-flex flex-row border border-dark mt-5 align-items-center" style="height:200px;">
    <div class="p-2 border border-success">one#</div>
    <div class="p-2 border border-success">two#</div>
    <div class="p-2 border border-success">three#</div>
</div>

<div class="d-flex flex-row border border-dark mt-5 align-items-stretch" style="height:200px;">
    <div class="p-2 border border-success">one#</div>
    <div class="p-2 border border-success">two#</div>
    <div class="p-2 border border-success">three#</div>
</div>

<div class="d-flex flex-row border border-dark mt-5" style="height:200px;">
    <div class="p-2 border border-success align-self-center">one##</div>
    <div class="p-2 border border-success align-self-end">two##</div>
    <div class="p-2 border border-success align-self-start">three##</div>
    <div class="p-2 border border-success align-self-stretch">three##</div>
</div>

<div class="d-flex flex-column border border-dark mt-5" style="height:200px;">
    <div class="p-2 border border-success align-self-center">one##</div>
    <div class="p-2 border border-success align-self-end">two##</div>
    <div class="p-2 border border-success align-self-start">three##</div>
    <div class="p-2 border border-success align-self-stretch">three##</div>
</div>

<div class="d-flex flex-column border border-dark mt-5">
    <div class="p-2 border border-success">one</div>
    <div class="p-2 border border-success">two</div>
    <div class="p-2 border border-success">three</div>
</div>

<div class="d-flex flex-column-reverse border border-dark mt-5">
    <div class="p-2 border border-success">one</div>
    <div class="p-2 border border-success">two</div>
    <div class="p-2 border border-success">three</div>
</div>

<div class="d-flex flex-column border border-dark mt-5 justify-content-end" style="height:200px;">
    <div class="p-2 border border-success">one</div>
    <div class="p-2 border border-success">two</div>
    <div class="p-2 border border-success">three</div>
</div>

<div class="d-flex flex-column border border-dark mt-5 justify-content-start" style="height:200px;">
    <div class="p-2 border border-success">one</div>
    <div class="p-2 border border-success">two</div>
    <div class="p-2 border border-success">three</div>
</div>

<div class="d-flex flex-column border border-dark mt-5 justify-content-between" style="height:200px;">
    <div class="p-2 border border-success">one</div>
    <div class="p-2 border border-success">two</div>
    <div class="p-2 border border-success">three</div>
</div>

<div class="d-flex flex-column border border-dark mt-5 justify-content-around" style="height:200px;">
    <div class="p-2 border border-success">one</div>
    <div class="p-2 border border-success">two</div>
    <div class="p-2 border border-success">three</div>
</div>






            <!-- 先引入 jQuery.js , 再引入 poppper.js 最后引入bootstrap.js -->
    <script src="js/jquery-3.4.1.slim.min.js"></script>
    <script src="js/popper.min.js"></script>
    <script src="js/bootstrap.js"></script>

</body>
</html>

Flex弹性布局(二)

  • 使用.flex-fill强制让每个元素项目占据相等的水平宽度;
  • 多个项目同时设置了.flex-fill, 则它们等比例分割宽度,适合导航项目;
  • 如果其中一个或两个没有设置.flex-fill,则没有设置的会被设置的填充宽度;
  • 使用.flex-grow-*, *表示0或1,也能实现.flex- fill的功能,设置1即可;
  • 通过元素生成的css可以看出, 其实.flex-fill就是flex族的简写形式;
  • 使用.flex-shrink-*, *表示0或1, 表示是否强制更换到新行中;
  • 使用.mr-auto和.ml-auto等对齐方式, 对flex元素进行浮动对齐;
  • 对于垂直方向,也可以使用.mb-auto和.mt-auto来设置对象方向;
  • 使用.flex-wrap(包裹) 和.flex-nowrap(不包裹, 默认)来设置子元素项目;
  • 使用.flex-wrap-reverse进行项目排序的倒序;
  • 使用.order-*,来设置子元素项目的排序顺序, 支持.order-*-*;
  • .align-content-start(end、center、 between、 around、 stretch)垂直对齐;

样例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>弹性布局</title>
    <!-- 移动设备优先 -->
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- 引入Bootstrap CSS -->
    <link rel="stylesheet" href="css/bootstrap.css">


    <style>

    </style>
</head>

<div class="d-flex flex-row border border-dark mt-5">
    <div class="p-2 border border-success">one</div>
    <div class="p-2 border border-success flex-fill">two</div>
    <div class="p-2 border border-success">three</div>
</div>



<div class="d-flex flex-row border border-dark mt-5">
    <div class="p-2 border border-success flex-fill">one</div>
    <div class="p-2 border border-success flex-fill">two</div>
    <div class="p-2 border border-success">three</div>
</div>

<div class="d-flex flex-row border border-dark mt-5">
    <div class="p-2 border border-success flex-fill">one</div>
    <div class="p-2 border border-success flex-fill">two</div>
    <div class="p-2 border border-success flex-fill">three</div>
</div>

<div class="d-flex flex-row border border-dark mt-5">
    <div class="p-2 border border-success">one</div>
    <div class="p-2 border border-success flex-grow-1">two</div>
    <div class="p-2 border border-success">three</div>
</div>

<div class="d-flex flex-row border border-dark mt-5">
    <div class="p-2 border border-success w-100">one</div>

    <div class="p-2 border border-success flex-shrink-0">three hello</div>
</div>

<div class="d-flex flex-row border border-dark mt-5">
    <div class="p-2 border border-success mr-auto">one</div>
    <div class="p-2 border border-success">two</div>
    <div class="p-2 border border-success ml-auto">three</div>
</div>

<div class="d-flex flex-column border border-dark mt-5" style="height:300px;">
    <div class="p-2 border border-success">one</div>
    <div class="p-2 border border-success">two</div>
    <div class="p-2 border border-success mt-auto">three</div>
</div>

<div class="d-flex flex-row border border-dark mt-5 bg-dark text-light flex-wrap" style="width:150px;">
    <div class="p-2 border border-success">###1</div>
    <div class="p-2 border border-success">###2</div>
    <div class="p-2 border border-success">###3</div>
    <div class="p-2 border border-success">###4</div>
    <div class="p-2 border border-success">###5</div>
    <div class="p-2 border border-success">###6</div>
    <div class="p-2 border border-success">###7</div>
    <div class="p-2 border border-success">###8</div>
    <div class="p-2 border border-success">###9</div>
</div>
<div class="d-flex flex-row border border-dark mt-5 bg-dark text-light flex-wrap-reverse" style="width:150px;">
    <div class="p-2 border border-success">###1</div>
    <div class="p-2 border border-success">###2</div>
    <div class="p-2 border border-success">###3</div>
    <div class="p-2 border border-success">###4</div>
    <div class="p-2 border border-success">###5</div>
    <div class="p-2 border border-success">###6</div>
    <div class="p-2 border border-success">###7</div>
    <div class="p-2 border border-success">###8</div>
    <div class="p-2 border border-success">###9</div>
</div>

<div class="d-flex flex-row border border-dark mt-5">
    <div class="p-2 border border-success order-3">one</div>
    <div class="p-2 border border-success order-1">two</div>
    <div class="p-2 border border-success">three</div>
</div>

<div class="d-flex flex-column border border-dark mt-5" style="height:300px;">
    <div class="p-2 border border-success">one</div>
    <div class="p-2 border border-success flex-fill">two</div>
    <div class="p-2 border border-success">three</div>
</div>


<div class="d-flex flex-column border border-dark mt-5" style="height:300px;">
    <div class="p-2 border border-success flex-fill">one</div>
    <div class="p-2 border border-success flex-fill">two</div>
    <div class="p-2 border border-success">three</div>
</div>

<div class="d-flex flex-row border border-dark mt-5 bg-dark text-light flex-wrap align-content-start" style="height:300px">
    <div class="p-2 border border-success">###1</div>
    <div class="p-2 border border-success">###2</div>
    <div class="p-2 border border-success">###3</div>
    <div class="p-2 border border-success">###4</div>
    <div class="p-2 border border-success">###5</div>
    <div class="p-2 border border-success">###6</div>
    <div class="p-2 border border-success">###7</div>
    <div class="p-2 border border-success">###8</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
</div>

<div class="d-flex flex-row border border-dark mt-5 bg-dark text-light flex-wrap align-content-end" style="height:300px">
    <div class="p-2 border border-success">###1</div>
    <div class="p-2 border border-success">###2</div>
    <div class="p-2 border border-success">###3</div>
    <div class="p-2 border border-success">###4</div>
    <div class="p-2 border border-success">###5</div>
    <div class="p-2 border border-success">###6</div>
    <div class="p-2 border border-success">###7</div>
    <div class="p-2 border border-success">###8</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
</div>

<div class="d-flex flex-row border border-dark mt-5 bg-dark text-light flex-wrap align-content-center" style="height:300px">
    <div class="p-2 border border-success">###1</div>
    <div class="p-2 border border-success">###2</div>
    <div class="p-2 border border-success">###3</div>
    <div class="p-2 border border-success">###4</div>
    <div class="p-2 border border-success">###5</div>
    <div class="p-2 border border-success">###6</div>
    <div class="p-2 border border-success">###7</div>
    <div class="p-2 border border-success">###8</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
</div>


<div class="d-flex flex-row border border-dark mt-5 bg-dark text-light flex-wrap align-content-between" style="height:300px">
    <div class="p-2 border border-success">###1</div>
    <div class="p-2 border border-success">###2</div>
    <div class="p-2 border border-success">###3</div>
    <div class="p-2 border border-success">###4</div>
    <div class="p-2 border border-success">###5</div>
    <div class="p-2 border border-success">###6</div>
    <div class="p-2 border border-success">###7</div>
    <div class="p-2 border border-success">###8</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
</div>


<div class="d-flex flex-row border border-dark mt-5 bg-dark text-light flex-wrap align-content-around" style="height:300px">
    <div class="p-2 border border-success">###1</div>
    <div class="p-2 border border-success">###2</div>
    <div class="p-2 border border-success">###3</div>
    <div class="p-2 border border-success">###4</div>
    <div class="p-2 border border-success">###5</div>
    <div class="p-2 border border-success">###6</div>
    <div class="p-2 border border-success">###7</div>
    <div class="p-2 border border-success">###8</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
</div>

<div class="d-flex flex-row border border-dark mt-5 bg-dark text-light flex-wrap align-content-stretch" style="height:300px">
    <div class="p-2 border border-success">###1</div>
    <div class="p-2 border border-success">###2</div>
    <div class="p-2 border border-success">###3</div>
    <div class="p-2 border border-success">###4</div>
    <div class="p-2 border border-success">###5</div>
    <div class="p-2 border border-success">###6</div>
    <div class="p-2 border border-success">###7</div>
    <div class="p-2 border border-success">###8</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
    <div class="p-2 border border-success">###9</div>
</div>




            <!-- 先引入 jQuery.js , 再引入 poppper.js 最后引入bootstrap.js -->
    <script src="js/jquery-3.4.1.slim.min.js"></script>
    <script src="js/popper.min.js"></script>
    <script src="js/bootstrap.js"></script>

</body>
</html>

警告提示框

  • 警告框样式

    1. 使用.alert设置警告框基础样式,并使用.alert: success设置警告框颜色;
    2. 在使用了警告框的元素内部设置超链接alert-link,会搭配相应的颜色;
    3. 使用.aler]- heading可以设置继承颜色,alert本身也可以设置水 平线段落等;
  • 警告框组件

    1. 按出和按钮就在组件一栏, 可以和浏览器交互功能,警告框的关闭效果,通过data -dismiss=" alert" 实现父元素关闭;
    2. .fade和.show实现了关闭后的淡出效果;
    3. .alert- dismissible从调试器可以看到是padding -rigt:4rem;
    4. 真正实现关闭效果的只有data-dismiss=" alert" ;
    5. 直接使用脚本的方式也可以关闭;
  • 组件会提供一些更加深入的脚本使用方法,包括各种方法和事件。

样例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>弹性布局</title>
    <!-- 移动设备优先 -->
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- 引入Bootstrap CSS -->
    <link rel="stylesheet" href="css/bootstrap.css">


    <style>

    </style>
</head>

    <div class="alert alert-success">融职教育</div>
    <div class="alert alert-primary">融职教育</div>
    <div class="alert alert-secondary">融职教育</div>
    <div class="alert alert-danger">融职教育</div>
    <div class="alert alert-warning">融职教育</div>
    <div class="alert alert-info">融职教育</div>
    <div class="alert alert-light">融职教育</div>
    <div class="alert alert-dark">融职教育</div>


<div class="alert alert-success">
    融职教育

    <a href="https://www.eduwork.cn" class="alert-link">www.eduwork.cn</a>

</div>

<div class="alert alert-success">
    <h4 class="alert-heading">融职教育</h4>
    <hr>

    <a href="https://www.eduwork.cn" class="alert-link">www.eduwork.cn</a>
    <p>在工作中学习, 在学习中工作!</p>

</div>

<div class="alert alert-warning one">
    你确定要关闭吗?
    <button class="close two">&times;</button>
</div>

<div class="alert alert-warning alert-dismissible fade show">
    你确定要关闭吗?
    <button class="close" data-dismiss="alert">&times;</button>
</div>




            <!-- 先引入 jQuery.js , 再引入 poppper.js 最后引入bootstrap.js -->
    <script src="js/jquery-3.4.1.slim.min.js"></script>
    <script src="js/popper.min.js"></script>
    <script src="js/bootstrap.js"></script>


<script>
    $(".two").click(function(){
        $('.one').alert('close');
    });

</script>

</body>
</html>

徽章和面包屑布局

  • 徽章样式
    1. 使用.badge 设置徽章基础样式,并使用.badge -success等设置徽章颜色;
    2. .badeg- pill将徽章设置成椭圆胶囊式;
    3. 在超链接使用徽章,鼠标悬停时会换色;
  • 面包屑导航
    1. 使用.breadcrumb设置- 个层次导航(- 行分割显示);
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <!-- 移动设备优先 -->
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- 引入Bootstrap CSS -->
    <link rel="stylesheet" href="css/bootstrap.css">


    <style>

    </style>
</head>

    <h1>EduWork <span class="badge badge-secondary">cn</span></h1>
    <h2>EduWork <span class="badge badge-success">cn</span></h2>
    <h3>EduWork <span class="badge badge-info">cn</span></h3>
    <h4>EduWork <span class="badge badge-danger">cn</span></h4>
    <h5>EduWork <span class="badge badge-warning">cn</span></h5>
    <h6>EduWork <span class="badge badge-light">cn</span></h6>
    <h6>EduWork <span class="badge badge-dark">cn</span></h6>


<h3>EduWork <span class="badge badge-info badge-pill">cn</span></h3>

<h3>EduWork <a href="#" class="badge badge-info badge-pill">cn</a></h3>

<nav>
    <ol class="breadcrumb">
        <li class="breadcrumb-item" ><a href="#">Home</a></li>
        <li class="breadcrumb-item" ><a href="#">Java</a></li>
        <li  class="breadcrumb-item active"><ahref="#">J2SE</a></li>
    </ol>

</nav>


            <!-- 先引入 jQuery.js , 再引入 poppper.js 最后引入bootstrap.js -->
    <script src="js/jquery-3.4.1.slim.min.js"></script>
    <script src="js/popper.min.js"></script>
    <script src="js/bootstrap.js"></script>
</body>
</html>

按钮和按钮组

  • 按钮样式
    1. 使用.btn和.btn-* 实现按钮的预设样式;
    2. .btn不单单在< button>元素下使用,也可以在<a>、<input> 下使用;
    3. 使用. btn .btn-outline -*可以实现按钮的轮廓效果;
    4. 使用.btn-lg或.btn-sm可以实现按钮尺寸的大和小;
    5. 使用.btn-block将按钮进行block区块设置;
    6. 使用.active启用按钮(默认),使用. disabled禁用按钮,注意<a>的禁用(写在class里面, 其它写在外面) ;
    7. 添加data-toggle=" button" 实现按钮切换效果,使用active可以默认按下;
  • 按钮组样式
    1. 使用.btn-group实现传统方案的复选框和单选框样式;
    2. 使用.btn-group .btn-group-toggle实现全新方案的复选框和单选框;
    3. 使用.btn-group构建普通的按钮组;
    4. 使用.btn- toolbar构建分页工具类;
    5. 使用.btn-group-lg和.btn-group-sm实现大尺寸和小尺寸;
    6. 使用.btn-group-vertical设置垂直按钮组;

样例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <!-- 移动设备优先 -->
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- 引入Bootstrap CSS -->
    <link rel="stylesheet" href="css/bootstrap.css">


    <style>
        body {
            padding:20px;
        }
    </style>
</head>

   <button class="btn btn-primary">我是按钮</button>
   <button class="btn btn-secondary">我是按钮</button>
   <button class="btn btn-success">我是按钮</button>
   <button class="btn btn-danger">我是按钮</button>
   <button class="btn btn-warning">我是按钮</button>
   <button class="btn btn-info">我是按钮</button>
   <button class="btn btn-light">我是按钮</button>
   <button class="btn btn-dark">我是按钮</button>
   <button class="btn btn-link">我是按钮</button>
<button class="btn btn-outline-primary">我是按钮</button>
<a href="#" class="btn btn-success">我是链接</a>
<input type="button" class="btn btn-success" value="我是按钮">
<input type="button" class="btn btn-danger" value="我是按钮">
<br>

<button class="btn btn-primary btn-lg">我是按钮</button>
<button class="btn btn-primary btn-sm">我是按钮</button>
<button class="btn btn-primary">我是按钮</button>
<br>
<button class="btn btn-primary btn-block">我是按钮</button>
<br>
<a href="#" class="btn btn-success disabled">我是链接</a>

<input type="button" class="btn btn-danger" disabled value="我是按钮">
<br>
<button class="btn btn-info"  data-toggle="button">我是按钮</button>
<br>

<div class="btn-group btn-group-toggle" data-toggle="buttons">
    <label class="btn btn-secondary  active">
        <input type="checkbox" checked> Java
    </label>

    <label class="btn btn-secondary">
        <input type="checkbox"> PHP
    </label>

    <label class="btn btn-secondary">
        <input type="checkbox"> Python
    </label>
</div>


<div class="btn-group  btn-group-toggle"  data-toggle="buttons">
    <label class="btn btn-secondary  active">
        <input type="radio" name="lang" checked> Java
    </label>

    <label class="btn btn-secondary">
        <input type="radio" name="lang"> PHP
    </label>

    <label class="btn btn-secondary">
        <input type="radio" name="lang"> Python
    </label>
</div>


<br>
<div class="btn-group mt-5">
    <button class="btn btn-secondary"></button>
    <button class="btn btn-secondary"></button>
    <button class="btn btn-secondary"></button>

</div>

<br>
<div class="btn-toolbar">
    <div class="btn-group mt-5 mr-2">
        <button class="btn btn-secondary">1</button>
        <button class="btn btn-secondary">2</button>
        <button class="btn btn-secondary">3</button>
        <button class="btn btn-secondary">4</button>
        <button class="btn btn-secondary">5</button>

    </div>

    <div class="btn-group mt-5">
        <button class="btn btn-secondary">6</button>
        <button class="btn btn-secondary">7</button>
        <button class="btn btn-secondary">8</button>


    </div>

</div>

<div class="btn-group mt-5 btn-group-lg">
    <button class="btn btn-secondary">6</button>
    <button class="btn btn-secondary">7</button>
    <button class="btn btn-secondary">8</button>


</div>

<div class="btn-group mt-5 btn-group-sm">
    <button class="btn btn-secondary">6</button>
    <button class="btn btn-secondary">7</button>
    <button class="btn btn-secondary">8</button>


</div>

<br>

<div class="btn-group-vertical">
    <button class="btn btn-secondary"></button>
    <button class="btn btn-secondary"></button>
    <button class="btn btn-secondary"></button>

</div>

            <!-- 先引入 jQuery.js , 再引入 poppper.js 最后引入bootstrap.js -->
    <script src="js/jquery-3.4.1.slim.min.js"></script>
    <script src="js/popper.min.js"></script>
    <script src="js/bootstrap.js"></script>



</body>
</html>

卡片

  • 卡片是一 个内容扩展管理器,可以包含图片、列表、文本、链接等多种组合;
  • 先使用 .card来构建卡片,然后可以使用.card-body建立卡片主体内容;
  • 卡片主体标题可以使用.card-title(标题) .card-subtitle(副标题)等;
  • 片主体使用.card-text代表文本内容;
  • 卡片主体使用.card-link代表超链接;
  • 使用.card-img-top可以设计一个带主题图片的内容管理器;
  • 使用.card-header设置一 个列表组的标头;
  • 卡片默认是100%显示的, 可以使用栅格系统嵌套来固定卡片的布局;
  • 也可以使用.w-25、 .W-50、 .W-75、 .w-100来设置卡片的显示百分比;
  • 卡片中.card-img插入一 个整体的图片, 再配合.card-img-overlay实背景。 这种做法并不是真的作为背景,而是通过定位,让文字浮动在图片上进行编辑;
  • 卡片通过内部栅格,也可以实现左右水平排列的图文显示
  • 卡片可以定制自己的背景和颜色, 这里并无组件样式,均为之前所配置;
  • 卡片可以定制自 己的边框,直接使用之 前边框组件样式即可;
  • 在.card元素外层,构建一 个.card-group分组, 可以紧紧将每个卡片贴在一 起;
  • .card- group本身就具有栅格系统,但会紧贴, 对应的.card- deck提供间隙;
  • 有时, 卡片的高度不一, 上面两种会自动补全,换行也会留有巨大空隙,这时,采用.card-columns可以自我进行填充,均分空隙;

样例一

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <!-- 移动设备优先 -->
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- 引入Bootstrap CSS -->
    <link rel="stylesheet" href="css/bootstrap.css">


    <style>
        body {
            padding:20px;
        }
    </style>
</head>
    <div class="card" style="width:300px">

        <div class="card-body">
            <div class="card-title">
                卡片标题
            </div>

            <div class="card-subtitle text-muted">
                子标题
            </div>

            <p class="card-text">这是卡片体的部分</p>
        </div>

    </div>

<br>
<div class="card" style="width:300px">

    <div class="card-header">
       列表标题
    </div>

    <ul class="list-group list-group-flush">
        <li class="list-group-item">列表一</li>
        <li class="list-group-item">列表二</li>
        <li class="list-group-item">列表三</li>
    </ul>

</div>
<br>
<div class="card">

    <div class="card-header">
        页头
    </div>

    <div class="card-body">
        主体
    </div>

    <div class="card-footer">
        页脚
    </div>

</div>
<br>
<div class="container">
    <div class="row">
        <div class="col-sm-4">
            <div class="card">

                <div class="card-header">
                    页头
                </div>

                <div class="card-body">
                    主体
                </div>

                <div class="card-footer">
                    页脚
                </div>

            </div>
        </div>

        <div class="col-sm-4">
            <div class="card">

                <div class="card-header">
                    页头
                </div>

                <div class="card-body">
                    主体
                </div>

                <div class="card-footer">
                    页脚
                </div>

            </div>
        </div>

        <div class="col-sm-4">
            <div class="card">

                <div class="card-header">
                    页头
                </div>

                <div class="card-body">
                    主体
                </div>

                <div class="card-footer">
                    页脚
                </div>

            </div>
        </div>
    </div>

</div>

<br>


<div class="card">

    <img src="images/banner.jpg" class="card-img-top" alt="">

    <div class="card-body">
        主体
        <br>
        <a class="card-link" href="#">登录</a>
        <a class="card-link" href="#">注册</a>
    </div>

    <div class="card-footer">
        页脚
    </div>

</div>


            <!-- 先引入 jQuery.js , 再引入 poppper.js 最后引入bootstrap.js -->
    <script src="js/jquery-3.4.1.slim.min.js"></script>
    <script src="js/popper.min.js"></script>
    <script src="js/bootstrap.js"></script>



</body>
</html>

样例二

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <!-- 移动设备优先 -->
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- 引入Bootstrap CSS -->
    <link rel="stylesheet" href="css/bootstrap.css">


    <style>
        body {
            padding:20px;
        }
    </style>
</head>

<div class="card" style="width:500px">
    <div class="card-header">
        <ul class="nav nav-tabs card-header-tabs">
            <li class="nav-item"><a class="nav-link active" href="#">主页</a></li>
            <li class="nav-item"><a class="nav-link" href="#">内容</a></li>
            <li class="nav-item"><a class="nav-link" href="#">其它</a></li>
        </ul>
    </div>

    <div class="card-body">
        这是卡片体的部分
    </div>

</div>

<br>

<div class="card" style="width:500px">
    <div class="card-header">
        <ul class="nav nav-pills card-header-pills">
            <li class="nav-item"><a class="nav-link active" href="#">主页</a></li>
            <li class="nav-item"><a class="nav-link" href="#">内容</a></li>
            <li class="nav-item"><a class="nav-link disabled" href="#">其它</a></li>
        </ul>
    </div>

    <div class="card-body">
        这是卡片体的部分
    </div>

</div>
<br>
<div class="card" style="width:500px">

    <img src="images/banner.jpg" class="card-img" alt="">

    <div class="card-body">
        这是卡片体的部分
    </div>

</div>


<br>
<div class="card w-75 text-center bg-info text-white" >

    <img src="images/banner.jpg" class="card-img" alt="">

    <div class="card-img-overlay">
        这是卡片体的部分
    </div>

</div>

<br>

<div class="card w-75  bg-info text-white" >
    <div class="row">
        <div class="col-sm-6">
            <img src="images/banner.jpg" class="card-img" alt="">
        </div>

        <div class="col-sm-6">
            <div class="card-title">卡片标题</div>
            <div class="card-text">卡片文本</div>
        </div>
    </div>
</div>

<br>
<div class="card" >

    <img src="images/banner.jpg" class="card-img" alt="">

    <div class="card-body">
        这是卡片体的部分
    </div>

    <div class="card-footer">
        页脚
    </div>

</div>

<br>

<div class="card-group">
    <div class="card" >

        <img src="images/banner.jpg" class="card-img" alt="">

        <div class="card-body">
            这是卡片体的部分
        </div>

        <div class="card-footer">
            页脚
        </div>

    </div>

    <div class="card" >

        <img src="images/banner.jpg" class="card-img" alt="">

        <div class="card-body">
            这是卡片体的部分
        </div>

        <div class="card-footer">
            页脚
        </div>

    </div>

    <div class="card" >

        <img src="images/banner.jpg" class="card-img" alt="">

        <div class="card-body">
            这是卡片体的部分
        </div>

        <div class="card-footer">
            页脚
        </div>

    </div>

</div>


<br>

<div class="card-deck">
    <div class="card" >

        <img src="images/banner.jpg" class="card-img" alt="">

        <div class="card-body">
            这是卡片体的部分
        </div>

        <div class="card-footer">
            页脚
        </div>

    </div>

    <div class="card" >

        <img src="images/banner.jpg" class="card-img" alt="">

        <div class="card-body">
            这是卡片体的部分
        </div>

        <div class="card-footer">
            页脚
        </div>

    </div>

    <div class="card" >

        <img src="images/banner.jpg" class="card-img" alt="">

        <div class="card-body">
            这是卡片体的部分
        </div>

        <div class="card-footer">
            页脚
        </div>

    </div>

</div>

<br>


<div class="card-columns">
    <div class="card" >

        <img src="images/banner.jpg" class="card-img" alt="">


        <div class="card-footer">
            页脚
        </div>

    </div>

    <div class="card" >

        <img src="images/banner.jpg" class="card-img" alt="">

        <div class="card-body">
            这是卡片体的部分
        </div>


    </div>

    <div class="card" >



        <div class="card-body">
            这是卡片体的部分
        </div>

        <div class="card-footer">
            页脚
        </div>

    </div>



    <div class="card" >

        <img src="images/banner.jpg" class="card-img" alt="">

        <div class="card-body">
            这是卡片体的部分
        </div>


    </div>
    <div class="card" >



        <div class="card-body">
            这是卡片体的部分
        </div>

        <div class="card-footer">
            页脚
        </div>

    </div>

    <div class="card" >

        <img src="images/banner.jpg" class="card-img" alt="">


        <div class="card-footer">
            页脚
        </div>

    </div>

    <div class="card" >



        <div class="card-body">
            这是卡片体的部分
        </div>

        <div class="card-footer">
            页脚
        </div>

    </div>

    <div class="card" >



        <div class="card-body">
            这是卡片体的部分
        </div>

        <div class="card-footer">
            页脚
        </div>

    </div>

    <div class="card" >



        <div class="card-body">
            这是卡片体的部分
        </div>

        <div class="card-footer">
            页脚
        </div>
    </div>
</div>
            <!-- 先引入 jQuery.js , 再引入 poppper.js 最后引入bootstrap.js -->
    <script src="js/jquery-3.4.1.slim.min.js"></script>
    <script src="js/popper.min.js"></script>
    <script src="js/bootstrap.js"></script>
</body>
</html>

列表组

样例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <!-- 移动设备优先 -->
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- 引入Bootstrap CSS -->
    <link rel="stylesheet" href="css/bootstrap.css">


    <style>
        body {
            padding:20px;
        }
    </style>
</head>
<ul class="list-group">
    <li class="list-group-item active">列表组一</li>
    <li class="list-group-item">列表组二</li>
    <li class="list-group-item">列表组三</li>
    <li class="list-group-item">列表组四</li>
    <li class="list-group-item disabled">列表组五</li>
</ul>

<br>
<div class="list-group">
    <a href="#" class="list-group-item active list-group-item-action">列表组一</a>
    <a href="#" class="list-group-item  list-group-item-action">列表组二</a>
    <a href="#" class="list-group-item list-group-item-action">列表组三</a>
    <a href="#" class="list-group-item list-group-item-action">列表组四</a>
    <a href="#" class="list-group-item disabled">列表组五</a>
</div>

<br>
<div class="list-group list-group-flush">
    <a href="#" class="list-group-item active list-group-item-action">列表组一</a>
    <a href="#" class="list-group-item  list-group-item-action">列表组二</a>
    <a href="#" class="list-group-item list-group-item-action">列表组三</a>
    <a href="#" class="list-group-item list-group-item-action">列表组四</a>
    <a href="#" class="list-group-item disabled">列表组五</a>
</div>


<br>

<ul class="list-group list-group-horizontal-sm">
    <li class="list-group-item active">列表组一</li>
    <li class="list-group-item">列表组二</li>
    <li class="list-group-item">列表组三</li>
    <li class="list-group-item">列表组四</li>
    <li class="list-group-item disabled">列表组五</li>
</ul>


<br>
<div class="list-group list-group-flush">
    <a href="#" class="list-group-item active list-group-item-action list-group-item-info">列表组一</a>
    <a href="#" class="list-group-item  list-group-item-action list-group-item-success">列表组二</a>
    <a href="#" class="list-group-item list-group-item-action list-group-item-danger">列表组三</a>
    <a href="#" class="list-group-item list-group-item-action">列表组四</a>
    <a href="#" class="list-group-item disabled">列表组五</a>
</div>

<br>
<ul class="list-group">
    <li class="list-group-item d-flex justify-content-between align-items-center">
            列表组一

        <span class="badge badge-primary ">99</span>

    </li>
    <li class="list-group-item d-flex justify-content-between align-items-center">列表组二
        <span class="badge badge-danger ">5</span>
    </li>
    <li class="list-group-item d-flex justify-content-between align-items-center">列表组三
        <span class="badge badge-success ">3</span>
    </li>
    <li class="list-group-item d-flex justify-content-between align-items-center">列表组四
        <span class="badge badge-primary ">109</span>
    </li>
    <li class="list-group-item disabled">列表组五</li>
</ul>

            <!-- 先引入 jQuery.js , 再引入 poppper.js 最后引入bootstrap.js -->
    <script src="js/jquery-3.4.1.slim.min.js"></script>
    <script src="js/popper.min.js"></script>
    <script src="js/bootstrap.js"></script>



</body>
</html>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_CX_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值