Bootstrap的Layout和常见layout摆放就在这

Layout

媒体查询

由于 Bootstrap 是移动设备优先的,因此我们使用了一些 媒体查询(media queries) 功能来为我们的布局和视觉元素创建合理的断点。这些断点主要以最小的视口(viewport)宽度作为基准,并在视口尺寸改变时放大元素。

Grid

Bootstrap’s grid system uses a series of(一系列) containers, rows, and columns to layout(摆放布局) and align(对齐) content
三个class配合
  • container

包裹内容

Containers center and horizontally pad your content

  • row

用row分成若干行

  • col

用class="col"把一行分为若干块

<div class="container text-center border bg-primary-subtle" 
      style="--bs-border-color:var(--bs-primary-border-subtle)">
      
          <div class="row bg-success-subtle">
            <div class="col">
              Column1
            </div>
            <div class="col">
              Column2
            </div>
          </div>
          
          <div class="row">
            <div class="col">
              Column3
            </div>
            <div class="col">
              Column4
            </div>
          </div>
          
        </div>
调整col的大小

  • 利用col-num决定每块占有大小

数字越大占有越大

<div class="container text-center border bg-primary-subtle" style="--bs-border-color:var(--bs-primary-border-subtle)">
          <div class="row bg-success-subtle">
            <div class="col">
              Column1
            </div>
            <div class="col-6 bg-danger-subtle">
              Column2
            </div>
            <div class="col">
              Column3
            </div>
          </div>
          <div class="row">
            <div class="col">
              Column4
            </div>
            <div class="col-5 bg-danger-subtle">
              Column5
            </div>
            <div class="col">
              Column6
            </div>
          </div>
        </div>
控制row大小

  • 利用justify-content-md-center控制方位

          <div class="row border justify-content-md-center">
            <div class="col bg-success-subtle col-lg-2">
              Column1
            </div>
            <div class="col-md-auto  bg-danger-subtle">
              Column2
            </div>
            <div class="col col-lg-2 bg-success-subtle">
              Column3
            </div>
          </div>
按比例调整

  • 利用col-sm-num的数字控制大小比例

        <div class="container text-center bg-primary-subtle">
          <div class="row bg-success-subtle">
            <div class="col-sm-8 bg-danger-subtle">col-sm-8</div>
            <div class="col-sm-4">col-sm-4</div>
          </div>
          <div class="row">
            <div class="col-sm">col-sm</div>
            <div class="col-sm text-bg-dark">col-sm</div>
            <div class="col-sm">col-sm</div>
          </div>
        </div>
只写一个div实现多行
  • row-col-num的num表示一行里的列有多少个

例如我col写了4个然后num为2则表达每列两个所以两行共四列,grid会自动帮我生成两行的布局

        <div class="container text-center">
          <div class="row row-cols-2">
            <div class="col bg-primary-subtle">
              1
            </div>
            <div class="col bg-danger-subtle">
              2
            </div>
            <div class="col bg-success-subtle">
              3
            </div>
            <div class="col text-bg-dark">
              4
            </div>
          </div>
        </div>
  • 可以填auto,但是一行默认有12格,会填不满

Columns

Learn how to modify(修改) columns with a handful of (各种)options for alignment(对齐), ordering(排序), and offsetting thanks to(多亏了) our flexbox grid system. Plus, see how to use column classes to manage widths of non-grid elements(非网格元素)

alignment

Use flexbox alignment(对齐) utilities to vertically and horizontally align columns
vertical alignment

这是指在一个container占据该区域的哪个空间(以flex完成)

<div class="p-3 bd-example-row bd-example-row-flex-cols">
      <div class="container text-center">
        <div class="row align-items-start">
          <div class="col">
            One of three columns
          </div>
          <div class="col">
            One of three columns
          </div>
          <div class="col">
            One of three columns
          </div>
        </div>
        <div class="row align-items-center ">
          <div class="col">
            One of three columns
          </div>
          <div class="col">
            One of three columns
          </div>
          <div class="col">
            One of three columns
          </div>
        </div>
      </div>
    </div>
  • 注意这个classes:bd-example-row-flex-cols

声明这个div是个row为flex布局的块

horizontal alignment

在水平方向上置于何位置

  • 上图对应在row添加classes:justify-content-*

  • justify-content-start

  • justify-content-center

  • justify-content-end

  • justify-content-around

  • justify-content-between

  • justify-content-evenly

我们也可以单独调整col的位置

  • 使用align-self-*

<div class="p-3 bd-example-row bd-example-row-flex-cols">
      <div class="container text-center">
        <div class="row">
          <div class="col align-self-start">
            One of three columns
          </div>
          <div class="col align-self-center">
            One of three columns
          </div>
          <div class="col align-self-end">
            One of three columns
          </div>
        </div>
      </div>
    </div>
即刻跳下一行

  • 插入一行div的class为w-100直接跳转下一行

<div class="p-3 container text-center">
      <div class="row">
        <div class="col-6 col-sm-6 text-bg-warning">
        .col-6 .col-sm-3</div>
        <div class="col-6 col-sm-3 text-bg-dark">
        .col-6 .col-sm-3</div>
    
        <!-- Force next columns to break to new line -->
        <div class="w-100"></div>
    
        <div class="col-6 col-sm-3 text-bg-warning">
        .col-6 .col-sm-3</div>
        <div class="col-6 col-sm-3 text-bg-dark">
        .col-6 .col-sm-3</div>
      </div>
    </div>

Gutters

Gutters are the padding between your columns, used to responsively(响应地) space and align(使平行) content in the Bootstrap grid system.

horizontal gutters

  • 在row上class:gx-num

num表达gutters的宽度,数值越高间隔越大,但是可能会溢出(overflow)所以我们在container限制padding,例如这里使用px-4,作为替代其实也可以使用.overflow-hidden

<div class="p-3 bd-example px-4 bd-example-cols">
      <div class="container text-center">
        <div class="row gx-5">
          <div class="col">
           <div class="p-3">Custom column padding</div>
          </div>
          <div class="col">
            <div class="p-3">Custom column padding</div>
          </div>
        </div>
      </div>
    </div>

vertical gutters

  • 那么对于垂直方向上的同理我们只需要在

  • row上classes:gy-num,其余同理

<div class="container overflow-hidden text-center">
  <div class="row gy-5">
    <div class="col-6">
      <div class="p-3">Custom column padding</div>
    </div>
    <div class="col-6">
      <div class="p-3">Custom column padding</div>
    </div>
    <div class="col-6">
      <div class="p-3">Custom column padding</div>
    </div>
    <div class="col-6">
      <div class="p-3">Custom column padding</div>
    </div>
  </div>
</div>

vertical & horizontal

  • 把gx和gy融合为g则大功告成

<div class="container text-center">
  <div class="row g-2">
    <div class="col-6">
      <div class="p-3">Custom column padding</div>
    </div>
    <div class="col-6">
      <div class="p-3">Custom column padding</div>
    </div>
    <div class="col-6">
      <div class="p-3">Custom column padding</div>
    </div>
    <div class="col-6">
      <div class="p-3">Custom column padding</div>
    </div>
  </div>
</div>
多一个实例
      <div class="container text-center">
        <div class="row row-cols-2 row-cols-lg-5 g-2 g-lg-3">
          <div class="col">
            <div class="p-3">Row column</div>
          </div>
          <div class="col">
            <div class="p-3">Row column</div>
          </div>
          <div class="col">
            <div class="p-3">Row column</div>
          </div>
          <div class="col">
            <div class="p-3">Row column</div>
          </div>
          <div class="col">
            <div class="p-3">Row column</div>
          </div>
          <div class="col">
            <div class="p-3">Row column</div>
          </div>
          <div class="col">
            <div class="p-3">Row column</div>
          </div>
          <div class="col">
            <div class="p-3">Row column</div>
          </div>
          <div class="col">
            <div class="p-3">Row column</div>
          </div>
          <div class="col">
            <div class="p-3">Row column</div>
          </div>
        </div>
  • 我想聊聊这个classes:row row-cols-2 row-cols-lg-5 g-2 g-lg-3

为了说明这个我们需要先了解Bootstrap的响应式布局

  • sm 平板大小(576px)

  • md 桌面显示器(768px)

  • lg 大桌面显示器(992px)

  • xl (1200px)

所以可以看出当页面大于lg时分布成一行五列,gutter设置为3,而当小于(不大于)这个大小时回到一行2列,间隔2px

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值