bootstrap5-学习笔记1-容器+布局+按钮+工具

参考:
Bootstrap5 教程 | 菜鸟教程
https://www.runoob.com/bootstrap5/bootstrap5-tutorial.html

Spacing · Bootstrap v5 中文文档 v5.3 | Bootstrap 中文网
https://v5.bootcss.com/docs/utilities/spacing/


之前用bootstrap2和3比较多,最近用到了5,发现好多地方不一样了,所以学习一下。主要写没用过的特性,随缘更新。

目录

    • 容器
      • 属性
    • 布局
      • 规则
    • 按钮
      • 属性
      • 按钮组
    • 工具Utilities
      • spacing
      • 浮动
      • border
      • 宽度与高度

容器

Bootstrap 5 需要一个容器元素来包裹网站的内容。

  • .container 类用于固定宽度支持响应式布局的容器。
  • .container-fluid 类用于 100% 宽度,占据全部视口(viewport)的容器。

container 的行为复杂一些:

  • 宽度 (max-width) 会根据屏幕宽度同比例放大或缩小。超级小屏幕(<576px)是100%,然后每种范围有一个固定宽度。超级大屏幕 (≥1400px) 是 Bootstrap 5 新增加的, Bootstrap 4 最大的是特大屏幕 (≥1200px)
  • margin-left, margin-right 都为 auto,保持 container 容器居中。

container-fluid 的行为就简单:

  • margin:0 宽度:100%

属性

  1. 容器内边距
    默认情况下,容器都填充左右内边距,顶部和底部不填充。Bootstrap 提供了一些间距类用于填充边距。 比如 .pt-5 就是用于填充顶部内边距(记为padding-top,5在下面有解释)。

  2. 边框和颜色
    bg-dark就是背景色为深色,text-white是文本为白色。这种属性也可以用在其他标签里,比如<p><a>等。类似还有bg-primary|bg-success|bg-info|bg-warning|bg-danger|bg-secondary(中灰色)|bg-light(浅灰色)。至于字体的颜色,如下图所示:
    在这里插入图片描述
    后面跟数字表示颜色的透明度,如.text-black-50就是透明度为50的黑色文本

    <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>
    

    背景色可以加渐变,只要后面跟一个bg-gradient即可。

  3. 响应式容器
    可以使用.container-sm|md|lg|xl。max-witdth会随之变化

布局

规则

  • 系统最多分为12列
  • .col-针对所有设备,.col-sm-平板,.col-md-桌面显示器,.col-lg-大桌面显示器,.col-xl-特大桌面显示器,.col-xxl-超大桌面显示器
  • 网格每一行需要放在容器中
  • Bootstrap 5 和 Bootstrap 4 使用 flexbox(弹性盒子) 而不是浮动。 Flexbox 的一大优势是,没有指定宽度的网格列将自动设置为等宽与等高列
  • .row 表示行,下面如果只用.col,不指定设备和列数的话,会均分行
  • 偏移列:使用.offset-设备-偏移列数
    <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>
    
    在这里插入图片描述

按钮

属性

  1. 颜色:class="btn"是无框黑字白底按钮

  2. 边框:加outline 关键词,如 class="btn btn-outline-primary" 就是一个蓝色边框、白色背景、蓝色字体的按钮

  3. 大小:btn-lg|btn-sm

  4. 块级:btn-block。如果有多个块级,可以使用gap-数字设置。

    <div class="d-grid gap-3"><button type="button" class="btn btn-primary btn-block">100% 宽度的按钮</button><button type="button" class="btn btn-primary btn-block">100% 宽度的按钮</button><button type="button" class="btn btn-primary btn-block">100% 宽度的按钮</button>
    </div>
    

    在这里插入图片描述

    .d-grid是指在父级元素是成块的,如果去掉会变成:
    在这里插入图片描述

  5. 按钮状态

    <div class="container mt-3"><h2>按钮状态</h2><button type="button" class="btn btn-primary">主要按钮</button><button type="button" class="btn btn-primary active">点击后的按钮</button><button type="button" class="btn btn-primary" disabled>禁止点击的按钮</button><a href="#" class="btn btn-primary disabled">禁止点击的链接</a>
    </div>
    

    <a>里要把 disabled 写在 class 里,可以理解为是套用的button格式
    在这里插入图片描述

  6. 加载中的按钮

    	<!-- 一个旋转的圆弧。还可以换成spinner-grow spinner-grow-sm --><button class="btn btn-primary" disabled><span class="spinner-border spinner-border-sm"></span>Loading..</button>
    

按钮组

  1. 水平按钮组
    在外层<div>上添加.btn-group,控制大小是另外加.btn-group-lg或者.btn-group-sm
    <div class="btn-group btn-group-sm"><button type="button" class="btn btn-primary">Apple</button><button type="button" class="btn btn-primary">Samsung</button><button type="button" class="btn btn-primary">Sony</button>
    </div>
    
  2. 垂直按钮组
    使用.btn-group-vertical
  3. 带下拉菜单的按钮
    <!-- 注意 btn外层的div class="btn-group" -->
    <div class="btn-group"><button type="button" class="btn btn-primary dropdown-toggle" data-bs-toggle="dropdown">Sony</button><ul class="dropdown-menu"><li><a class="dropdown-item" href="#">Tablet</a></li><li><a class="dropdown-item" href="#">Smartphone</a></li></ul>
    </div>
    

工具Utilities

这里包含的是包括背景、颜色、边框等一堆乱七八糟的东西,这些可以用在很多元素上,属于一些公共的特性。

spacing

前面一些 class 里写了诸如 p-5, my-5, mt-3 这样的数字,其实是控制边距的。说明:

格式是:{property}{sides}-{size} for xs and {property}{sides}-{breakpoint}-{size} for sm, md, lg, xl, and xxl.

  • property 里m 表示 margin(外边距),p 表示padding(内边距)
  • sides 表示方向,或者说是哪一边
    • t 表示top,b 表示bottom,x 表示水平方向(左右),y 表示垂直方向(上下),s 表示LTR时左边和RTL的右边,e 则相反。如果不写 sides 表示四面都设置
    • size 包括 [0, 5] 和 auto。其中 0 表示真的设为0,3 表示将 margin 或者 padding 设置为$spacer,1~5分别表示设为$spacer的0.25,0.5,1.5 和 3.5倍。

水平居中:如果指定了 width ,并且 display:block,那么可以使用.mx-auto,使元素在水平方向上居中

浮动

.clearfix是清除浮动,start和end表示向左向右。

  <div class="clearfix"><span class="float-start">Float left</span><span class="float-end">Float right</span></div>

也可以根据尺寸设置浮动效果,像.float-md-end

不浮动:.float-none

border

使用.border

<div class="container mt-3"><span class="border"></span> <!-- 默认,全边框 --><span class="border border-0"></span> <!-- 无边框 --><span class="border border-top-0"></span> <!-- 只去掉顶部边框 --><span class="border border-end-0"></span> <!-- 只去掉右边(LTR,所以右边是end)边框 --><span class="border border-bottom-0"></span><span class="border border-start-0"></span><br><!-- 以下是保留xx位置的border --><span class="border-top"></span> <!-- 只保留顶部边框 --><span class="border-end"></span><span class="border-bottom"></span><span class="border-start"></span>
</div>
  • 调节linewidth使用.border-数字,其中数字取 [0, 5]
  • 边框颜色使用.border-颜色,颜色可以是primary, success, info, dark white什么的
  • 圆角边框使用.rounded[-位置/形状],位置的话top/bottom/start/end就是字面意思,circle表示边框是圆形,pill表示是胶囊型
  • 圆角的大小可以用.rounded-数字,数字取值[0, 3]

宽度与高度

.w-数字表示宽度为百分之多少(eg:25/50/75/100),也可以用auto。.mw-100表示最大宽度为100

.h-数字表示高度为百分之多少,跟宽度一样的。

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

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

相关文章

SRE视角下的DevOps构建之道

引言&#xff1a; 随着数字化时代的飞速发展&#xff0c;软件成为了企业竞争力的核心。为了更高效地交付高质量的软件&#xff0c;DevOps&#xff08;Development和Operations的组合&#xff09;作为一种文化、实践和工具集的集合&#xff0c;逐渐成为了行业内的热门话题。然而…

渲染100为什么是高性价比网渲平台?渲染100邀请码1a12

市面上主流的网渲平台有很多&#xff0c;如渲染100、瑞云、炫云、渲云等&#xff0c;这些平台各有特色和优势&#xff0c;也都声称自己性价比高&#xff0c;以渲染100为例&#xff0c;我们来介绍下它的优势有哪些。 1、渲染100对新用户很友好&#xff0c;注册填邀请码1a12有3…

【CTF MISC】XCTF GFSJ0008 low Writeup(LSB隐写+QR Code识别)

low 暂无 解法 用 StegSolve 打开&#xff0c;Green plane 1 中疑似隐藏有二维码。 使用大佬写的代码&#xff1a; from PIL import Imageimg Image.open("./low.bmp") img_tmp img.copy() pix img_tmp.load() width, height img_tmp.size for w in range(wid…

每日一题——Python实现PAT甲级1046 Shortest Distance(举一反三+思想解读+逐步优化)

一个认为一切根源都是“自己不够强”的INTJ 个人主页&#xff1a;用哲学编程-CSDN博客专栏&#xff1a;每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 我的写法 专业点评 优点 改进建议 时间复杂度分析 空间复杂度分析 总结 我要更…

HCIP-Datacom-ARST自选题库__MAC【14道题】

一、单选题 1.缺省情况下&#xff0c;以下哪种安全MAC地址类型在设备重启后表项会丢失? 黑洞MAC地址 Sticky MAC地址 安全动态MAC地址 安全静态MAC地址 2.华为交换机MAC地址表中的动态sticky MAC地址的默认老化时间是多少秒? 300 不会老化 400 500 3.华为交换机MA…

Polar Web【简单】login

Polar Web【简单】login 本文旨在记录此题的探索和解决过程。 Contents Polar Web【简单】login探索&思路EXP (python)结果&总结 探索&思路 查看源码&#xff0c;发现存在用户信息泄露。尝试用获取信息登录&#xff0c;显示成功&#xff0c;但其后没有可做的操作。…

有损线、上升边退化与材料特性(七)

有损线的不良影响 当信号沿着实际有损线传输时&#xff0c;高频分量的幅度减小&#xff0c;而低频分量的幅度保持不变。由于这个种选择性的衰减&#xff0c;信号的带宽降低&#xff0c;信号的上升边会增长。如果上升边的退化与单位间隔比很小&#xff0c;同位模式将比较稳定与…

Django视图与路由:打造你的网络帝国

Hello&#xff0c;我是阿佑&#xff0c;上期给大家讲了 Django ORM魔法&#xff1a;用Python代码召唤数据库之灵&#xff01; 今天将带大家深入探讨了视图的工作原理、如何编写高效的函数视图和类视图&#xff0c;以及如何巧妙地利用URL路由来提升应用的用户体验和可维护性。通…

最新h5st(4.7.2)参数分析与纯算法还原(含算法源码)

文章目录 1. 写在前面2. 加密分析3. 算法还原 【&#x1f3e0;作者主页】&#xff1a;吴秋霖 【&#x1f4bc;作者介绍】&#xff1a;擅长爬虫与JS加密逆向分析&#xff01;Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致力于Python…

图解 Python 编程(10) | 错误与异常处理

&#x1f31e;欢迎来到Python的世界 &#x1f308;博客主页&#xff1a;卿云阁 &#x1f48c;欢迎关注&#x1f389;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f31f;本文由卿云阁原创&#xff01; &#x1f4c6;首发时间&#xff1a;&#x1f339;2024年6月2日&…

数据结构(C):从初识堆到堆排序的实现

目录 &#x1f31e;0.前言 &#x1f688; 1.堆的概念 &#x1f688; 2.堆的实现 &#x1f69d;2.1堆向下调整算法 &#x1f69d;2.2堆的创建&#xff08;堆向下调整算法&#xff09; ✈️2.2.1 向下调整建堆时间复杂度 &#x1f69d;2.3堆向上调整算法 &#x1f69d;2.…

c++------类和对象(下)包含了this指针、构造函数、析构函数、拷贝构造等

文章目录 前言一、this指针1.1、this指针的引出1.2、 this指针的特性 二、类的默认的六个构造函数2.1、构造函数简述2.2构造函数 三、析构函数3.1、析构函数引出3.2、特点&#xff1a; 四、拷贝构造4.1、引入4.2、特征&#xff1a;4.3、默认拷贝构造函数 总结 前言 在本节中&a…

Compose Multiplatform 1.6.10 发布,解释一些小问题, Jake 大佬的 Hack

虽然一直比较关注跨平台开发&#xff0c;但其实我很少写 Compose Multiplatform 的内容&#xff0c;因为关于 Compose Multiplatform 的使用&#xff0c;其实我并没在实际生产环境上发布过&#xff0c;但是这个版本确实值得一提&#xff0c;因为该版本包含&#xff1a; iOS Bet…

数据库(15)——DQL分页查询

DQL分页查询语法 SELECT 字段列表 FROM 表名 LIMIT 起始索引&#xff0c;查询记录数; 注&#xff1a;起始索引从0开始&#xff0c;起始索引&#xff08;查询页码-1&#xff09;*每页显示记录数。 如果查询的是第一页&#xff0c;可以省略起始索引。 示例&#xff1a;查询第一页…

【考研数学】概率论如何复习?跟谁好?

概率论一定要跟对老师&#xff0c;如果跟对老师&#xff0c;考研基本上能拿满分 概率论在考研试卷中占比并不大&#xff0c;其中&#xff1a; 高等数学&#xff0c;90分&#xff0c;约占比60%; 线性代数&#xff0c;30分&#xff0c;约占比20%; 概率论与数理统计&#xff0…

每日5题Day15 - LeetCode 71 - 75

每一步向前都是向自己的梦想更近一步&#xff0c;坚持不懈&#xff0c;勇往直前&#xff01; 第一题&#xff1a;71. 简化路径 - 力扣&#xff08;LeetCode&#xff09; class Solution {public String simplifyPath(String path) {Deque<String> stack new LinkedList…

mysql的增删查改(进阶)

目录 一. 更复杂的新增 二. 查询 2.1 聚合查询 COUNT SUM AVG MAX MIN 2.1.2 分组查询 group by 子句 2.1.3 HAVING 2.2 联合查询/多表查询 2.2.1 内连接 2.2.2 外连接 2.2.3 全外连接 2.2.4 自连接 2.2.5 子查询 2.2.6 合并查询 一. 更复杂的新增 将从表名查询到…

自动化办公01 smtplib 邮件⾃动发送

目录 一、准备需要发送邮件的邮箱账号 二、发送邮箱的基本步骤 1. 登录邮箱 2. 准备数据 3. 发送邮件 三、特殊内容的发送 1. 发送附件 2. 发送图片 3. 发送超文本内容 4.邮件模板内容 SMTP&#xff08;Simple Mail Transfer Protocol&#xff09;即简单邮件传输协议…

【Qt秘籍】[009]-自定义槽函数/信号

自定义槽函数 在Qt中自定义槽函数是一个直接的过程&#xff0c;槽函数本质上是类的一个成员函数&#xff0c;它可以响应信号。所谓的自定义槽函数&#xff0c;实际上操作过程和定义普通的成员函数相似。以下是如何在Qt中定义一个自定义槽函数的步骤&#xff1a; 步骤 1: 定义槽…

三种字符串的管理方式

NSString的三种实现方式 OC这个语言在不停的升级自己的内存管理&#xff0c;尽量的让自己的 OC的字符串 问题引入 在学习字符串的过程中间会遇到一个因为OC语言更新造成的问题 例如&#xff1a; int main(int argc, const char * argv[]) {autoreleasepool {NSString* str1 …