boot Strap笔记(哈哈哈哈)

目录

介绍

部署(第一次要联网)

3行 JS

注意头部编码地区

盒尺寸

Container容器

All-in-one(一个容器中定义)

流式布局

栅格

栅格选项

自动布局列

设置一列宽度

可变宽度的弹性空间

等宽多行,拆分新行

响应式的class选择器

覆盖所有设备

行列布局

表格对齐

垂直对齐示例

水平对齐

间隙沟槽(gutters)清除

列换行

换行

重排序

Class顺序重定义

列偏移

列嵌套

布局实施

display块属性定义

图像对齐处理

响应式图片

标题大小

底部备注来源

表格

Head表头处理

条纹状表格

表格边框处理

无边框

行悬停效果

紧缩表格

语义状态化

文字放置在图像下面

提示

链接颜色

额外附加内容

关闭警告

JavaScript行为

标签

带链接效果

按钮

按钮标签

轮廓按钮

尺寸规格与大小定义

启用状态

禁用状态

切换按钮状态

复选框和单选框

方法

按钮组

大小规格和尺寸缩放

嵌套

垂直排列

轮播

原理


哈哈哈是笔记标记,方便本人能直接看到自己的笔记。

介绍

Bootstrap 最基础的形式:直接拖入即用的编译文件,几乎能在所有Web项目中使用。

scss/js/是CSS和JavaScript的源码

其中bootstrap.*是预编译的文件。

docs/文件夹是开发者文件夹。

bootstrap.min.*是编译过且压缩后的文件,可以直接·引用。 程序目录中,还有bootstrap.*.map格式的文件,这是Source map文件,需要在特定的浏览器开发者工具下才可用式。

默认bootstrap.js(预编译与精简版)都已经包含了util.js,Bootstrap所有JavaScript行为都依赖于util.js函数。

部署(第一次要联网)

1行 CSS 复制下面的 <link> 样式表粘贴到网页 <head> 里面,并放在其它CSS文件之前.

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">

3行 JS

全局组件运行在 jQuery 组件上,其中包括 Popper.js 以及系统内置 JavaScript 插件. 建议将 <script> 的结束放在页面的 </body> 之前。

<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>

注意头部编码地区

头部定义是首要的,否则会导致样式失真。正确中文站点应该用zh-CN。

<!doctype html>
<html lang="zh-cn">
...
</html>

盒尺寸

更直观地用BootStrap的尺寸规范(而不受各浏览标准影响),我们把将全局box-sizing的值由默认的content-box重定义为border-box,保证padding不会影响元素的最后计算宽度。

重置盒尺寸:

.selector-for-some-widget {
box-sizing: content-box;
}

Container容器

Container容器是窗口布局的最基本元素,我们推荐所有样式都定义在.container.container-fluid容器之中-- 这是启用整个栅格系统必不可少的前置条件,它们分别对应选择一个响应式的、固定宽度的容器,或者选择一个流式自适应浏览器或容器最大合法宽度的窗口(意味着任何时候它的宽度总是100%)。

Bootstrap原生带三种container宽度规范:

  • .container, 居中,适配所有的 max-width 尺寸。

  • .container-fluid, 全屏,适配屏幕的 width: 100% 尺寸。

  • .container-{断点规格}(见下表,如.container-sm), 在指定规格断上width: 100% 尺寸。

container在不同的屏幕的 max-width 规范,以及 .container.container-fluid 的断点区别。

All-in-one(一个容器中定义)

默认的.container class 是一个响应式容器,它有固定宽度和最max-width 设置,并支持响应式断点,应该用它作为整个DIV的最外层容器,如下。

<div class="container">
  <!-- 网页内容写在这里面 -->
</div>

流式布局

.container-fluid 支持全屏的流式布局,如下使用:

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

使用 .container-fluid 类,可以使div宽度扩展到整个宽度(如果没有被其它CSS容器包含,则应是浏览器运行时的宽度,否则应是父容器中允许的最大宽度,一般视为100%宽度)。

栅格

网格如何组合在一起。

<div class="container">
  <div class="row">
      <div class="col-sm">三分之一空间占位</div>
      <div class="col-sm">三分之一空间占位</div>
      <div class="col-sm">三分之一空间占位</div>
  </div>
</div>

上面的例子使用BootStrap预定义的栅格系统,演示了在.container容器内建立了三个等宽的列,并且分别兼容在small(极窄宽度网页)、medium(中等宽度网页)、large(宽网页)、extra large(超宽网页)四种设备类型。

栅格系统提供了集中内容居中、水平填充网页内容的方法

.container实现固定的宽度并居中呈现,.container-fluid实现全宽度,并和其它网格实现对齐

行(.row)是列(.col-*.col-*后面有不同的数字,如.col-sm-4.col-xl-12,这些css类后面的数字用于表明定义div空间想要占用列的数量,每行最多有12列。如果你想用三个等宽的列,则取12的三分之一,即.col-sm-4就是正确的))的横向组合和父容器(它们有效组织在.row下),每列都有水平的padding值,用于控制它们之间的间隔,同时在负边距的行上抵消,从而实现列中的所有内容在视觉上是左侧对齐的体验。

不可以在.col-*以上添加呈现内容。呈现内容必须放置在列(.col-*中,而且只有列可以是行的直接子元素,否则都是违法的。

.container中置入初始化的四个.col-sm就能实现各自25%宽度并左对齐形成一行的排列。

.col-*width属性(即列宽)是用百分比来表现和定义的。

列具有水平padding定义,用于创建列与列之的间隙。

.row上带有margin-left: -15px;margin-right: -15px;属性,可以在.row上上定义.no-gutters属性,从而消除这个属性,使页面不会额外宽出30px,即<div class="row no-gutters"...

总共有五个栅格等级,每个响应式分界点隔出一个等级:特小.col、小.col-sm-*、中.col-md-*、大.col-lg-*、特大(大、特大也可以称为宽、超宽).col-xl-*

.col-sm-4的的定义可以在小型、中型、宽、超宽设备上呈现,但不适用于能在超小型.col-sx上呈现

栅格选项

Bootstrap使用emsrems来定义大多数属性的规格大小、px用于全局层面网格断点和容器宽度(因为浏览器和设备的宽度是以像素px为单位,且不会随字体大小而变化)。

在Bootstrap 4中,屏幕的大小是真正的“断点”,即如果只定义一个屏幕规格即可向上覆盖所有设备,向下如果没有定义则默认为12栅格占位。

.container 最大宽度 None (auto) 540px 720px 960px 1140px
类前缀 .col- .col-sm- .col-md- .col-lg- .col-xl-
列(column)数 12 12 12 12 12
列间隙 30px (每列两侧各15px)

且都可嵌套,都可排序。

自动布局列

利用栅格断点特性进行排版,可以简化列的大小,而不需要自己手动定义大小。

默认自动将12列平均分配

<div class="container">
  <div class="row">
    <div class="col">
      1 of 2
    </div>
    <div class="col">
      2 of 2
    </div>
  </div>
  <div class="row">
    <div class="col">
      1 of 3
    </div>
    <div class="col">
      2 of 3
    </div>
    <div class="col">
      3 of 3
    </div>
  </div>
</div>

设置一列宽度

在Flexbox的布局上一行多列的情况下,特别指定一列并进行宽度定义,同时其它列自动调整大小。无论中心定义列的宽度如何,其他列都将调整大小。

<div class="container">
  <div class="row">
    <div class="col">   1 of 3</div>
    <div class="col-6"> 2 of 3 (更宽-12格中占6格,其它6格另外两列平分</div>
    <div class="col">  3 of 3</div>
  </div>
  <div class="row">
    <div class="col">1 of 3</div>
    <div class="col-5"> 2 of 3 (更宽-12格中占5格,其它7格另外两列平分-不论奇偶都能达成)</div>
    <div class="col"> 3 of 3 </div>
  </div>
</div>

可变宽度的弹性空间

使用 col-{breakpoint}-auto 断点方法,可以实现根据其内容的自然宽度来对列进行大小调整。.

<div class="container">
        <div class="row justify-content-md-center">
          <div class="col col-lg-2"> 1 of 3 </div>
          <div class="col-md-auto"> 可变宽度内容自由伸张,左右宽度不变。 </div>
          <div class="col col-lg-2"> 3 of 3 </div>
        </div>
        <div class="row">
          <div class="col"> 1 of 3 </div>
          <div class="col-md-auto"> 可变宽度内容自由伸张,左列宽度变化(右列绑定co-lg-2栅格数) </div>
          <div class="col col-lg-2"> 3 of 3 </div>
        </div>
      </div>

等宽多行,拆分新行

创建跨多个行的等宽列,方法是插入.w-100要将列拆分为新行。通过混合.w-100一些还可以影响一些显示状态效果,如按钮排序等。

.w100.clearfix有时可以达到同样的网页效果。

响应式的class选择器

可以根据需要定义在特小.col、小.col-sm-*、中.col-md-*、大.col-lg-*、特大.col-xl-*五种屏幕(设备)下的样式。

覆盖所有设备

一次性定义从最小设备到最大设备相同的网格系统布局表现,请使用.col.col-*类。后者是用于指定特定大小的(如.col-6),否则使用.col就可以了。

可以根据需要对每一个列进行不同的设备定义。

<!-- 定义在超小屏幕下1列全宽、1列半宽,而其它场景以8:4比例并行排列 -->
<div class="row">
  <div class="col-12 col-md-8">.col-12 .col-md-8</div>
  <div class="col-6 col-md-4">.col-6 .col-md-4</div>
</div>

行列布局

使用 .row-cols-* 类能够定义一个row空间中可放的列数,并支持不同的参数如.col-*.col-md-4,注意需要要写在 .row空间之中。

定义每行显示两列:

<div class="container">
  <div class="row row-cols-2">
    <div class="col">Column</div>
    <div class="col">Column</div>
    <div class="col">Column</div>
    <div class="col">Column</div>
  </div>
</div>

每行显示三列(多余的则换行排列):

<div class="container">
  <div class="row row-cols-3">
    <div class="col">Column</div>
    <div class="col">Column</div>
    <div class="col">Column</div>
    <div class="col">Column</div>
  </div>
</div>

row-cols-

行列布局其实是把12列进行平均分配,如果指定了某一列的宽度可能会改变后面的列的位置到下一行

<div class="container">
    定义了每行显示四列
  <div class="row row-cols-4">
    <div class="col">Column</div>
    <div class="col">Column</div>
      定义这一列宽度为6
    <div class="col-6">Column</div>
    <div class="col">Column</div>
  </div>
</div>

表格对齐

垂直对齐示例

正在上传…重新上传取消

<div class="container">
        <div class="row align-items-start">
          <div class="col"> 上边贴齐</div>
          <div class="col"> 上边贴齐 </div>
          <div class="col"> 上边贴齐s </div>
        </div>
        <div class="row align-items-center">
          <div class="col"> 上下居中对齐 </div>
          <div class="col"> 上下居中对齐 </div>
          <div class="col"> 上下居中对齐 </div>
        </div>
        <div class="row align-items-end">
          <div class="col"> 下边对齐 </div>
          <div class="col"> 下边对齐 </div>
          <div class="col"> 下边对齐 </div>
        </div>
      </div>

正在上传…重新上传取消

<div class="container">
        <div class="row">
          <div class="col align-self-start"> 上边对齐 </div>
          <div class="col align-self-center"> 上下居中对齐  </div>
          <div class="col align-self-end"> 下边对齐 </div>
        </div>
      </div>

水平对齐

正在上传…重新上传取消

<div class="container">
        <div class="row justify-content-start">
          <div class="col-4"> 左贴齐对齐 </div>
          <div class="col-4"> 左贴齐对齐 </div>
        </div>
        <div class="row justify-content-center">
          <div class="col-4"> 居中贴齐 </div>
          <div class="col-4"> 居中贴齐 </div>
        </div>
        <div class="row justify-content-end">
          <div class="col-4"> 右贴齐对齐 </div>
          <div class="col-4"> 右贴齐对齐 </div>
        </div>
        <div class="row justify-content-around">
          <div class="col-4"> 间隔相等对齐帖齐 </div>
          <div class="col-4"> 间隔相等对齐帖齐 </div>
        </div>
        <div class="row justify-content-between">
          <div class="col-4"> 两端对齐帖齐 </div>
          <div class="col-4"> 两端对齐帖齐 </div>
        </div>
      </div>

间隙沟槽(gutters)清除

Boot Strap默认的栅格和列间有间隙沟槽,一般是左右-15px的marginpadding处理,可以使用.no-gutters类来消除它,这将影响到.row行、列平行间隙及所有子列。

列换行

如果在一行内子DIV定义的栅格总数超过12列,BootStrap会在保留列完整的前提下,将无法平行布局的多余列,重置到下一行,并占用一个完整的新行。

换行

一般换行推荐使用添加多个.row来达成,也可以使用系统提供的.w-100方法处理,思路是强行插入一个width:100%的DIV进行隔离。

<div class="row">
     <div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
     <div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
      在这里插入一个.w-100    
    <div class="w-100"></div>
    <div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
    <div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
</div>

重排序

Class顺序重定义

使用 .order-* class选择符,可以对DIV空间进行 可视化排序,系统提供了.order-1.order-1212个级别的顺序,在五种浏览器和设备宽度上都能生效。

<div class="container">
        <div class="row">
          <div class="col"> 1号空间-未定义序号,位置不变。 </div>
          <div class="col order-12"> 2号空间-排最后。 </div>
          <div class="col order-1"> 3号空间-放第1但受1号空间不变影响居第2位。 </div>
            后面的到前面来,需要前面的与后面的顺序同时改变。
        </div>
      </div>

正在上传…重新上传取消

也可以使用.order-first,快速更改一个顺序到最前面,同时其它元素也相应的获得了order:减1的属性,这个属性也可以与。.order-*混合使用。

列偏移

可以使用两种方式进行列偏应: 1、使用响应式的.offset-*栅格偏移方法。 2、使用边界处理实用程序,它内置了像.ml-*.p-*.pt-*等实用排工具。

class偏移选择器

使用.offset-md-*类可以使列向右偏移,通过定义*的数字,则可以实现列偏移,如.offset-md-4则是向右偏移四列。

<div class="bd-example">
      <div class="row">
        <div class="col-md-4">.col-md-4</div>
        <div class="col-md-4 offset-md-4">.col-md-4 .offset-md-4</div>
      </div>
      <div class="row">
        <div class="col-md-3 offset-md-3">.col-md-3 .offset-md-3</div>
        <div class="col-md-3 offset-md-3">.col-md-3 .offset-md-3</div>
      </div>
      <div class="row">
        <div class="col-md-6 offset-md-3">.col-md-6 .offset-md-3</div>
      </div>
    </div>

正在上传…重新上传取消

列嵌套

为了使用内置的栅格系统将内容再次嵌套,可以通过添加一个新的.row 元素和一系列 .col-sm-* 元素到已经存在的 .col-sm-* 元素内。被嵌套的行(row)所包含的列(column)数量推荐不要超过12个。

正在上传…重新上传取消

<div class="row">
        <div class="col-sm-9"> Level 1: .col-sm-9
          <div class="row">
            <div class="col-8 col-sm-6"> Level 2: .col-8 .col-sm-6 </div>
            <div class="col-4 col-sm-6"> Level 2: .col-4 .col-sm-6 </div>
          </div>
        </div>
      </div>

布局实施

display块属性定义

display 属性的定义,与系统的栅格系统结合,来决定模块是否显示,甚至进一步属性如 .display-* ,其中*是可以1-12的任意数字。

图像对齐处理

对于.block属性的块状图片,可以使用 浮动定义规范或 文字对齐规范,来实现对图像的对齐、浮动控制.带.block块属性的图片,可以自动获得 .mx-auto 的位置对齐属性.

浮动对齐

<img src="..." class="rounded float-left" alt="...">
<img src="..." class="rounded float-right" alt="...">

带d-block属性的块自动获得对齐属性

<img src="..." class="rounded mx-auto d-block" alt="...">

文字对齐

<div class="text-center">
  <img src="..." class="rounded" alt="...">
  </div>

响应式图片

在Bootstrap中,给图片添加.img-fluid样式,或定义max-width: 100%height:auto;样式,即可赋得响应式特性,图片大小会随着父元素大小同步缩放。

<img src="..." class="img-fluid" alt="图片不加载时,显示的文字">

标题大小

bootstrap设置标题字体大小

正在上传…重新上传取消

<h1 class="display-1">Display 1</h1>
<h1 class="display-2">Display 2</h1>
<h1 class="display-3">Display 3</h1>
<h1 class="display-4">Display 4</h1>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

荒野大票客

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

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

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

打赏作者

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

抵扣说明:

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

余额充值