Bootstrap 5 保姆级教程(一):容器 网格系统

一、容器

1.1 固定宽度(.container)

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

以下实例中,我们可以尝试调整浏览器窗口的大小来查看容器宽度在不同屏幕中等变化:

<!doctype html>
<html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>Bootstrap demo</title><link rel="stylesheet" href="./bootstrap-5.3.3-dist/css/bootstrap.min.css"><script src="./bootstrap-5.3.3-dist/js/bootstrap.bundle.min.js"></script></head><body><div class="container"><h1>我的第一个 Bootstrap 页面</h1><p>这是一些文本。</p> </div></body>
</html>

1.2 100% 宽度(.container-fluid) 

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

<div class="container-fluid"><h1>我的第一个 Bootstrap 页面</h1><p>使用了 .container-fluid,100% 宽度,占据全部视口(viewport)的容器。</p> 
</div>

1.3 容器内边距(container pt-数字)

默认情况下,容器都有填充左右内边距,顶部和底部没有填充内边距。 Bootstrap 提供了一些间距类用于填充边距。 比如 .pt-5 就是用于填充顶部内边距:

<div class="container pt-5"><h1>我的第一个 Bootstrap 页面</h1><p>这是一些文本。</p> 
</div>

<div class="container pt-2"><h1>我的第一个 Bootstrap 页面</h1><p>这是一些文本。</p> 
</div>

内边距(Padding)类

  • .p-*:设置元素所有方向的内边距大小级别,其中 * 表示大小级别(0 到 5)。
  • .pt-*.pb-*.pl-*.pr-*:分别设置元素顶部、底部、左侧和右侧的内边距大小级别。

外边距(Margin)类

  • .m-*:设置元素所有方向的外边距大小级别,其中 * 表示大小级别(0 到 5)。
  • .mt-*.mb-*.ml-*.mr-*:分别设置元素顶部、底部、左侧和右侧的外边距大小级别。

额外的间距类

Bootstrap 5 还提供了一些额外的间距类,用于更精细地控制间距:

  • .px-* 和 .py-*:分别设置元素水平方向(左右)和垂直方向(上下)的内边距或外边距大小级别。
  • .mx-* 和 .my-*:分别设置元素水平方向(左右)和垂直方向(上下)的外边距大小级别。

自定义间距大小

除了预设的间距大小级别外,Bootstrap 5 还允许你使用 Sass 变量(如 $spacer)来自定义间距大小。例如,你可以将 margin 或 padding 的大小设定为 $spacer 的某个倍数,如 .mt-3 表示将上方 margin 大小设定为 $spacer 的 3 倍。

1.4 容器的边框和颜色(border、bg-color、bg-primary) 

Bootstrap 也提供了一些边框(border)和颜色(bg-dark、bg-primary等)类用于设置容器的样式:

<div class="container p-5 my-5 border"><h1>我的第一个 Bootstrap 页面</h1><p>这个容器有一个边框和一些边距。</p>
</div><div class="container p-5 my-5 bg-dark text-white"><h1>我的第一个 Bootstrap 页面</h1><p>这个容器具有深色背景色和白色文本,以及一些额外的边距。</p>
</div><div class="container p-5 my-5 bg-primary text-white"><h1>我的第一个 Bootstrap 页面</h1><p>这个容器具有蓝色背景色和白色文本,以及一些额外的边距。</p>
</div>

1.5 响应式容器(.container-sm|md|lg|xl) 

你可以使用 .container-sm|md|lg|xl 类来创建响应式容器。

容器的 max-width 属性值会根据屏幕的大小来改变。

Class超小屏幕
<576px
小屏幕
≥576px
中等屏幕
≥768px
大屏幕
≥992px
特大屏幕
≥1200px
超级大屏幕
≥1400px
.container-sm100%540px720px960px1140px1320px
.container-md100%100%720px960px1140px1320px
.container-lg100%100%100%960px1140px1320px
.container-xl100%100%100%100%1140px1320px
.container-xxl100%100%100%100%100%1320px
<div class="container pt-3"><h1>响应式容器</h1><p>重置浏览器大小查看效果.</p>
</div><div class="container-sm border">.container-sm</div>
<div class="container-md mt-3 border">.container-md</div>
<div class="container-lg mt-3 border">.container-lg</div>
<div class="container-xl mt-3 border">.container-xl</div>
<div class="container-xxl mt-3 border">.container-xxl</div>

二、网格系统

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

我们也可以根据自己的需要,定义列数:

2.1 网格类

Bootstrap 5 网格系统有以下 6 个类:

  • .col- 针对所有设备。
  • .col-sm- 平板 - 屏幕宽度等于或大于 576px。
  • .col-md- 桌面显示器 - 屏幕宽度等于或大于 768px。
  • .col-lg- 大桌面显示器 - 屏幕宽度等于或大于 992px。
  • .col-xl- 特大桌面显示器 - 屏幕宽度等于或大于 1200px。
  • .col-xxl- 超大桌面显示器 - 屏幕宽度等于或大于 1400px。

2.2 网格系统

Bootstrap5 网格系统规则:

  • 网格每一行需要放在设置了 .container (固定宽度) 或 .container-fluid (全屏宽度) 类的容器中,这样就可以自动设置一些外边距与内边距。
  • 使用行来创建水平的列组。
  • 内容需要放置在列中,并且只有列可以是行的直接子节点。
  • 预定义的类如 .row 和 .col-sm-4 可用于快速制作网格布局。
  • 列通过填充创建列内容之间的间隙。 这个间隙是通过 .rows 类上的负边距设置第一行和最后一列的偏移。
  • 网格列是通过跨越指定的 12 个列来创建。 例如,设置三个相等的列,需要使用三个 .col-sm-4 来设置。

2.3 创建相等宽度的列

<div class="container-fluid mt-3"><h1>创建相等宽度的列</h1><p>创建三个相等宽度的列! 尝试在 class="row" 的 div 中添加新的 class="col" div,会显示四个等宽的列。</p><div class="row"><div class="col p-3 bg-primary text-white">.col</div><div class="col p-3 bg-dark text-white">.col</div><div class="col p-3 bg-primary text-white">.col</div></div>
</div>

2.4 不等宽响应式列

以下实例演示了在平板及更大屏幕上创建不等宽度的响应式列。 在移动设备上,即屏幕宽度小于 576px 时,两个列将会上下堆叠排版:

<div class="container-fluid mt-3"><h1>不等宽响应式列</h1><p>重置浏览器大小查效果。</p><p>在移动设备上,即屏幕宽度小于 576px 时,两个列将会上下堆叠排版。</p><div class="row"><div class="col-sm-4 p-3 bg-primary text-white">.col</div><div class="col-sm-8 p-3 bg-dark text-white">.col</div></div>
</div>

2.5 设置某一列宽度

如果只设置一列的宽度,其他列会自动均分剩下的宽度。 以下实例将列宽度为 25%、50%、25%:

<div class="container-fluid mt-3"><h2>设置某一列宽度</h2><p>如果只设置一列的宽度,其他列会自动均分剩下的宽度。 以下实例将列宽度为 25%、50%、25%:</p><div class="row"><div class="col bg-success">.col</div><div class="col-6 bg-warning">.col-6</div><div class="col bg-success">.col</div></div>
</div>

2.6 平板和桌面端

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

<div class="container-fluid mt-3"><h1>平板与桌面的网格布局</h1><p>以下实例演示了在桌面设备的显示器上两个列的宽度各占 50%,如果在平板端则左边的宽度为 25%,右边的宽度为 75%, 在移动手机等小型设备上会堆叠显示。
</p><p>重置浏览器窗口大小,查看效果。</p><div class="row"><div class="col-sm-3 col-md-6 col-lg-4 col-xl-2 p-3 bg-primary text-white">.col</div><div class="col-sm-9 col-md-6 col-lg-8 col-xl-10 p-3 bg-dark text-white">.col</div></div>
</div>

2.7 嵌套列

以下实例创建两列布局,其中一列内嵌套着另外两列:

<div class="container-fluid"><div class="row"><div class="col-8 bg-warning p-4">.col-8<div class="row"><div class="col-6 bg-light p-2">.col-6</div><div class="col-6 bg-secondary p-2">.col-6</div></div></div><div class="col-4 bg-success p-4">.col-4</div></div>
</div>

2.8 偏移列

偏移列通过 offset-*-* 类来设置。第一个星号( * )可以是 sm、md、lg、xl,表示屏幕设备类型,第二个星号( * )可以是 1 到 11 的数字。

为了在大屏幕显示器上使用偏移,请使用 .offset-md-* 类。这些类会把一个列的左外边距(margin)增加 * 列,其中 * 范围是从 1 到 11

例如:.offset-md-4 是把.col-md-4 往右移了四列格。

<div class="container-fluid mt-3"><h1>偏移列</h1><p>.offset-md-4 是把.col-md-4 往右移了四列格。</p><div class="row"><div class="col-md-4 p-3 bg-primary text-white">.col-md-4</div><div class="col-md-4 offset-md-4 bg-dark text-white">.col-md-4 .offset-md-4</div></div><div class="row"><div class="col-md-3 offset-md-3 bg-primary text-white">.col-md-3 .offset-md-3</div><div class="col-md-3 offset-md-3 bg-dark text-white">.col-md-3 .offset-md-3</div></div><div class="row"><div class="col-md-6 offset-md-3 bg-primary text-white">.col-md-6 .offset-md-3</div></div>
</div>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/819035.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C语言回顾】分支和循环

前言1. if 分支进阶1.1 嵌套 if1.2 悬空 else 2. switch 语句3. while 循环4. for 循环5. goto语句结语 上期回顾: 【C语言回顾】数据类型和变量相关 前言 各位小伙伴&#xff0c;大家好&#xff01;话不多说&#xff0c;我们直接进入正题。 以下是C语言分支和循环的总结。 1…

ARM看门狗定时器

作用 在S3C2440A中&#xff0c;看门狗定时器的作用是当由于噪声和系统错误引起的故障干扰时恢复控制器的工作。 也就是说&#xff0c;系统内部的看门狗定时器需要在指定时间内向一个特殊的寄存器内写入一个数值&#xff0c;俗称喂狗。 如果喂狗的时间过了&#xff0c;那么看门…

STM32H7上实现AD5758驱动

目录 概述 1 下载ADI 5758 Demo 2 AD5758驱动的移植 2.1 使用STM32CubeMX创建工程 2.2 接口函数实现 2.2.1 驱动接口列表 2.2.2 函数实现 2.2.3 修正ad5758驱动 3 AD5758应用程序 3.1 编写测试程序 3.1.1 配置参数结构 3.1.2 配置参数函数 3.1.3 读取参数函数 3.…

时隔一年,再次讨论下AutoGPT-安装篇

AutoGPT是23年3月份推出的&#xff0c;距今已经1年多的时间了。刚推出时&#xff0c;我们还只能通过命令行使用AutoGPT的能力&#xff0c;但现在&#xff0c;我们不仅可以基于AutoGPT创建自己的Agent&#xff0c;我们还可以通过Web页面与我们创建的Agent进行聊天。这次的AutoGP…

设计模式——观察者模式17

观察者模式指多个对象间存在一对多的依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式。 中介者模式是N对N的双向关系。观察者模式是1对N的单向关系。 设计模式&#xff0c;一定要敲代码…

腾讯EdgeOne产品测评体验—金字塔般的网络安全守护神

作为一名对网络安全和性能优化充满热情的用户&#xff0c;我决定体验腾讯云下一代 CDN 服务 - EdgeOne。这款引以为傲的全方位服务如数来到&#xff0c;从域名解析、动静态智能加速到四层加速及DDoS/CC/Web/Bot 防护&#xff0c;一应俱全。随着时代风云变幻&#xff0c;日均数千…

高级数据结构与算法习题(7)

一、单选题 1、When solving a problem with input size N by divide and conquer, if at each stage the problem is divided into 8 sub-problems of equal size N/3, and the conquer step takes O(N2logN) to form the solution from the sub-solutions, then the overall…

Linux调试器之gdb

前言 我们前面介绍了几个基本的环境开发工具。例如通过yum我们可以安装和卸载软件、通过vim我们可以写代码、通过gcc和g我们可以编译代码成可执行程序。但是如何在Linux下调试代码呢&#xff1f;我们并未介绍&#xff0c;本期我们将来介绍最后一个工具 --- 调试器gdb。 本期内…

DAY13|239. 滑动窗口最大值、347.前K个高频元素

239. 滑动窗口最大值、347.前 K 个高频元素 239. 滑动窗口最大值347.前 K 个高频元素 239. 滑动窗口最大值 难度有些大啊… 其实队列没有必要维护窗口里的所有元素&#xff0c;只需要维护有可能成为窗口里最大值的元素就可以了&#xff0c;同时保证队列里的元素数值是由大到小…

基于U-Net的图像分割算法介绍

U-Net是一种用于图像分割的深度学习架构,其设计初衷是用于生物医学图像分割,尤其是医学影像中的细胞分割任务。U-Net结构独特,具有编码器-解码器结构,能够有效地捕捉图像中的局部和全局信息,并在像素级别上进行精确的分割。 相关论文: U-Net: Convolutional Networks for…

密码学基础 -- 走进RSA(2)(放弃数学原理版)

目录 1.概述 2. RSA测试 2.1 加解密实验 2.2 签名验签测试 3. RSA原理简介 4.小结 1.概述 从上面密码学基础 -- 走进RSA(1)(放弃数学原理版)-CSDN博客我们知道了非对称算法的密钥对使用时机&#xff0c;那么接下里我们继续讲解RSA&#xff0c;我们分别从RSA加解密、签名验…

科大讯飞星火开源大模型iFlytekSpark-13B GPU版部署方法

星火大模型的主页&#xff1a;iFlytekSpark-13B: 讯飞星火开源-13B&#xff08;iFlytekSpark-13B&#xff09;拥有130亿参数&#xff0c;新一代认知大模型&#xff0c;一经发布&#xff0c;众多科研院所和高校便期待科大讯飞能够开源。 为了让大家使用的更加方便&#xff0c;科…

leetcode-链表中间节点

876. 链表的中间结点 题目 给你单链表的头结点 head &#xff0c;请你找出并返回链表的中间结点。 如果有两个中间结点&#xff0c;则返回第二个中间结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[3,4,5] 解释&#xff1a;链表只有一个中间…

12.MySQL应用架构演变

MySQL应用架构演变 1.总览 单机单库主从架构分库分表云数据库 2.单机单库 介绍 一个简单的小型网站或者应用背后的架构可以非常简单&#xff0c;数据存储只需要一个MySQL Instance就能满足数据读取和写入需求&#xff08;这里忽略掉了数据备份的实例&#xff09;&#xff…

三款好用的 Docker 可视化管理工具

文章目录 1、Docker Desktop1.1、介绍1.2、下载地址1.3、在Windows上安装Docker桌面1.4、启动Docker Desktop1.5、Docker相关学习网址 2、Portainer2.1、介绍2.2、安装使用 3、Docker UI3.1、介绍3.2、安装使用3.2.1、常规方式安装3.2.2、通过容器安装 Docker提供了命令行工具&…

【vue】购物车案例

change"fun"&#xff1a;元素值发生改变时&#xff0c;会触发事件fun <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale…

Qt创建基于应用程序的插件

应用程序插件 什么是插件插件的好处插件的种类应用程序插件创建应用程序的插件步骤:创建测试插件的应用程序步骤:应用程序插件示例开发环境创建示例生成插件运行结果总结什么是插件 插件是一种用于应用程序功能扩展和增强,且按照特定规范编写的应用程序接口的程序。 插件的…

linux 自定义快捷指令(docker

vi /root/.bashrc alias disdocker images alias dpsdocker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}" 保存退出后使用sourece /root/.bashrc 让其立即生效 sourece /root/.bashrc

Python学习笔记(37)——用xlwings库生成excel

老规矩先pip入xlwings库 STEP1:下载xlwings库 windowsr>>cmd>>pip install xlwings (如果需要不同版本可以到pypi上搜&#xff09; STEP2:完成EXCEL初级创建 请打开您的编写软件~~~~~&#xff08;小编的显示结果为PYCHARM编写的&#xff0c;因为颜色标注好看(…

【论文笔记】PointMamba: A Simple State Space Model for Point Cloud Analysis

原文链接&#xff1a;https://arxiv.org/abs/2402.10739 1. 引言 基于Transformer的点云分析方法有二次时空复杂度&#xff0c;一些方法通过限制感受野降低计算。这引出了一个问题&#xff1a;如何设计方法实现线性复杂度并有全局感受野。 状态空间模型&#xff08;SSM&…