bootstrap4

93 阅读6分钟

网格系统

网格系统规则 Bootstrap4 网格系统规则:

  • 网格每一行需要放在设置了 .container (固定宽度) 或 .container-fluid (全屏宽度) 类的容器中,这样就可以自动设置一些外边距与内边距。
  • 使用行来创建水平的列组。
  • 内容需要放置在列中,并且只有列可以是行的直接子节点。
  • 预定义的类如 .row 和 .col-sm-4 可用于快速制作网格布局。
  • 列通过填充创建列内容之间的间隙。 这个间隙是通过 .rows 类上的负边距设置第一行和最后一列的偏移。
  • 网格列是通过跨越指定的 12 个列来创建。 例如,设置三个相等的列,需要使用用三个.col-sm-4 来设置。
  • Bootstrap 3 和 Bootstrap 4 最大的区别在于 Bootstrap 4 现在使用 flexbox(弹性盒子) 而不是浮动。   Flexbox 的一大优势是,没有指定宽度的网格列将自动设置为等宽与等高列 。 如果您想了解有关Flexbox的更多信息,可以阅读我们的CSS Flexbox教程。 下表总结了 Bootstrap 网格系统如何在不同设备上工作的:
超小设备 <576px平板 ≥576px桌面显示器 ≥768px大桌面显示器 ≥992px超大桌面显示器 ≥1200px
容器最大宽度None (auto)540px720px960px1140px
类前缀.col-.col-sm-.col-md-.col-lg-.col-xl-
列数量和12
间隙宽度30px (一个列的每边分别 15px)
可嵌套Yes
列排序Yes

创建相等宽度的列

    <div class="container-fluid">
        <h1>Hello World!</h1>
        <p>创建三个相等宽度的列! 尝试在 class="row" 的 div 中添加新的 class="col"  div,会显示四个等宽的列。</p>
        <div class="row">
          <div class="col" style="background-color:lavender;">.col</div>
          <div class="col" style="background-color:orange;">.col</div>
          <div class="col" style="background-color:lavender;">.col</div>
        </div>
    </div>

创建相等宽度响应式列

    <!-- 
        因为class="col-sm-*"所以当屏幕宽度小于 576px 时,四个列将会上下堆叠排版
    -->
    
    <div class="container-fluid">
        <h1>Hello World!</h1>
        <p>重置浏览器大小查效果。</p>
        <p> 在移动设备上,即屏幕宽度小于 576px 时,四个列将会上下堆叠排版。</p>
        <div class="row">
          <div class="col-sm-3" style="background-color:lavender;">.col-sm-3</div>
          <div class="col-sm-3" style="background-color:lavenderblush;">.col-sm-3</div>
          <div class="col-sm-3" style="background-color:lavender;">.col-sm-3</div>
          <div class="col-sm-3" style="background-color:lavenderblush;">.col-sm-3</div>
        </div>
    </div>

创建不等宽响应式列

    <div class="container-fluid">
        <h1>Hello World!</h1>
        <p>在移动设备上,即屏幕宽度小于 576px 时,.col-sm-4的列 和 .col-sm-8列将会上下堆叠排版。</p>
        <div class="row">
          <div class="col-sm-4" style="background-color:lavender;">.col-sm-4</div>
          <div class="col-sm-8" style="background-color:lavenderblush;">.col-sm-8</div>
        </div>
    </div>

平板和桌面端

以下示例演示了在桌面设备的显示器上两个列的宽度各占 50%,如果在平板端则左边的宽度为 25%,右边的宽度为 75%, 在移动手机等小型设备上会堆叠显示

  • bg-successbg-warning是bootstrap的背景颜色
  • <div class="col-sm-3 col-md-6">当屏幕>=768时引用了col-md-6;当屏幕<576时引用了col-sm-3;
    <div class="container-fluid">
        <h1>平板与桌面的网格布局</h1>
        <p>以下示例演示了在桌面设备的显示器上两个列的宽度各占 50%,如果在平板端则左边的宽度为 25%,右边的宽度为 75%, 在移动手机等小型设备上会堆叠显示。
      </p>
        <div class="container-fluid">
          <div class="row">
            <div class="col-sm-3 col-md-6 bg-success">
              nhooo
            </div>
            <div class="col-sm-9 col-md-6 bg-warning">
              菜鸟教程
            </div>
          </div>
        </div>
    </div>

偏移位

image.png

文字排版

  • Bootstrap 4 默认的 font-size 为 16px, line-height 为 1.5
  • 默认的 font-family 为 "Helvetica Neue", Helvetica, Arial, sans-serif。
  • 此外,所有的<p>元素 margin-top: 0 、 margin-bottom: 1rem (16px)。

Display 标题类

  • Bootstrap 还提供了四个 Display 类来控制标题的样式: .display-1, .display-2, .display-3, .display-4

image.png

<small>标签

在 Bootstrap 4 中 HTML <small> 元素用于创建字号更小的颜色更浅的 文本

image.png

<mark>标签

  • Bootstrap 4 定义<mark> 为黄色背景及有一定的内边距:

image.png

<abbr>标签

Bootstrap 4 定义 HTML  元素的样式为显示在文本底部的一条虚线边框:

image.png

<blockquote>标签与类

对于引用的内容可以在  <blockquote> 上添加 .blockquote 类 :

image.png

<pre>标签

image.png

<code>标签

image.png

<kbd>标签

image.png

<dl>标签

image.png

排版类列表

类名描述示例
.font-weight-bold加粗文本尝试一下
.font-weight-normal普通文本尝试一下
.font-weight-light更细的文本尝试一下
.font-italic斜体文本尝试一下
.lead让段落更突出尝试一下
.small指定更小文本 (为父元素的 85% )尝试一下
.text-left左对齐尝试一下
.text-center居中尝试一下
.text-right右对齐尝试一下
.text-justify设定文本对齐,段落中超出屏幕部分文字自动换行尝试一下
.text-nowrap段落中超出屏幕部分不换行尝试一下
.text-lowercase设定文本小写尝试一下
.text-uppercase设定文本大写尝试一下
.text-capitalize设定单词首字母大写尝试一下
.initialism显示在 <abbr> 元素中的文本以小号字体展示,且可以将小写字母转换为大写字母尝试一下
.list-unstyled移除默认的列表样式,列表项中左对齐 ( <ul><ol>中)。 这个类仅适用于直接子列表项    (如果需要移除嵌套的列表项,你需要在嵌套的列表中使用该样式)尝试一下
.list-inline将所有列表项放置同一行尝试一下
.pre-scrollable使 <pre> 元素可滚动,代码块区域最大高度为340px,一旦超出这个高度,就会在Y轴出现滚动条尝试一下

表格

给table添加的类

  • .table: 表格的基础类(必有)
  • .table-striped:各行变色
  • .table-bordered:使表格有边框
  • .table-hover:设置鼠标悬停时行变色
  • .table-condensed:将表格的单元格中的内边距减小为原来的一半

状态类(给tr或td添加的类)

类名描述
.table-primary蓝色: 指定这是一个重要的操作
.table-success绿色: 指定这是一个允许执行的操作
.table-danger红色: 指定这是可以危险的操作
.table-info浅蓝色: 表示内容已变更
.table-warning橘色: 表示需要注意的操作
.table-active灰色: 用于鼠标悬停效果
.table-secondary灰色: 表示内容不怎么重要
.table-light浅灰色,可以是表格行的背景
.table-dark深灰色,可以是表格行的背景

响应式表格: 当屏幕尺寸小于768时,可以在表格下面出现滚动条,大于768时,正常显示表格

<div class="table-responsive">
    table表格
</div>

图片形状

<!DOCTYPE html>\
<html lang="en">
<head>
   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>首页</title>
   <link href="./css/bootstrap.css" rel="stylesheet"/>
   <script src="./js/jquery-3.7.1.js"></script>
   <script src="./js/bootstrap.js" ></script>
   <style>

   </style>
</head>
<body>
 <div class="container">
   <div>
     <h2>圆角图片</h2>
     <p>.rounded 类可以让图片显示圆角效果:</p>            
     <img src="/img/gV_oZlvO.jpg" class="rounded" alt="Cinque Terre" width="304" height="236">   
   </div>
   <div>
     <h2>缩略图</h2>
     <p>.img-thumbnail 类用于设置图片缩略图(图片有边框):</p>            
     <img src="/img/gV_oZlvO.jpg" class="img-thumbnail" alt="Cinque Terre" width="304" height="236">
   </div>
   <div>
     <h2>椭圆图片</h2>
     <p>.rounded-circle 类可以设置椭圆形图片:</p>            
     <img src="/img/gV_oZlvO.jpg" class="rounded-circle" alt="Cinque Terre" width="304" height="236">  
   </div>
   <div>
     <!-- 该类演示无效 可能版本原因 本质就是在img标签中添加 float: right 默认是float: left-->
     <h2>图片对齐方式</h2>
     <p>使用 .float-right 类来设置图片右对齐,使用 .float-left 类设置图片左对齐:</p>
     <img src="/img/gV_oZlvO.jpg" class="float-left"  width="304" height="236"> 
     <img src="/img/gV_oZlvO.jpg" class="float-right" style="float: right; width: 304px; height: 236px;">
   </div>
   <div>
     <h2>响应式图片</h2>
     <p>.img-fluid 类可以设置响应式图片,重置浏览器大小查看效果:</p>
     <img src="/img/gV_oZlvO.jpg" class="img-fluid">
   </div>
</div>
</body>
</html>

效果图如下:

image.png