当前位置: 首页 > news >正文

前端 Bootstrap 框架基本介绍与使用

前端 Bootstrap 框架基本介绍与使用


Bootstrap 概述

Bootstrap 是目前使用最广泛的前端 UI 框架,由 Twitter 团队于 2011 年开源。它提供了一套预定义的 CSS 类和 JavaScript 插件,让开发者无需从零写样式就能快速搭建响应式页面。

核心优势:

  • 响应式栅格:一套 12 列弹性网格,自动适配手机、平板、桌面。
  • 丰富的组件:按钮、导航、卡片、模态框、表单等开箱即用。
  • 一致性设计:统一的设计语言,避免样式割裂。
  • 可定制:通过 Sass 变量覆盖默认主题色、间距等。

引入方式

最简单的引入方式是通过 CDN(内容分发网络):

<!-- 在 <head> 中引入 CSS --><linkhref="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css"rel="stylesheet"><!-- 在 </body> 前引入 JS(已含 Popper) --><scriptsrc="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>

引入后,所有 Bootstrap 类即可直接使用,无需额外配置。


栅格系统

栅格是 Bootstrap 最核心的布局机制。页面被划分为 12 列,通过.container.row.col-*三级结构来分配宽度。

三层结构

层级类名作用
容器.container固定宽度并水平居中,各断点有不同最大宽度
容器.container-fluid100% 宽度,始终撑满视口
.row包裹列,用负边距抵消容器的 padding
.col/.col-{断点}-{份数}按 12 份分配宽度

五种断点

断点前缀适用宽度典型设备
无前缀.col-< 576px手机(超小屏)
.col-sm-≥ 576px手机横屏
.col-md-≥ 768px平板
.col-lg-≥ 992px小桌面
.col-xl-≥ 1200px大桌面

核心逻辑:断点以上生效,断点以下堆叠。例如.col-md-6在 ≥768px 时占 6/12 宽,更小屏幕则占满一整行。

基础示例

<divclass="container"><divclass="row"><divclass="col-md-4">侧边栏</div><divclass="col-md-8">主内容区</div></div></div>

常用列组合

<!-- 等宽列:自动均分 --><divclass="row"><divclass="col">列1</div><divclass="col">列2</div><divclass="col">列3</div></div><!-- 指定列宽 --><divclass="row"><divclass="col-4">占4份</div><divclass="col-8">占8份</div></div><!-- 响应式:大屏4列、小屏2列 --><divclass="row"><divclass="col-md-3 col-sm-6">1</div><divclass="col-md-3 col-sm-6">2</div><divclass="col-md-3 col-sm-6">3</div><divclass="col-md-3 col-sm-6">4</div></div><!-- 列偏移:实现居中 --><divclass="row"><divclass="col-4 offset-4">居中显示</div></div>

注:将浏览器窗口缩窄即可看到断点切换效果——.col-md-3在大屏上一行四个,小屏上变为一行两个(.col-sm-6)。


常用组件

Bootstrap 提供了大量预置组件,只需复制文档中的代码片段即可使用。

3.1 按钮

通过.btn基类 + 变体类组合,共有七种语义变体和四种尺寸。

<buttonclass="btn btn-primary">主按钮</button><buttonclass="btn btn-secondary">次要按钮</button><buttonclass="btn btn-success">成功按钮</button><buttonclass="btn btn-danger">危险按钮</button><buttonclass="btn btn-warning">警告按钮</button><buttonclass="btn btn-info">信息按钮</button><!-- 轮廓样式 --><buttonclass="btn btn-outline-primary">轮廓按钮</button><!-- 尺寸 --><buttonclass="btn btn-primary btn-lg">大号</button><buttonclass="btn btn-primary btn-sm">小号</button>

3.2 警告框

<divclass="alert alert-success"role="alert">操作成功!</div><divclass="alert alert-warning alert-dismissible fade show">注意:库存不足<buttonclass="btn-close"data-bs-dismiss="alert"></button></div>

.alert-dismissible和关闭按钮的提示框可被用户关闭。

3.3 卡片

.card是 Bootstrap 中最灵活的容器组件,由头部、内容、图片、底部等子模块自由组合。

<divclass="card"style="width:18rem;"><divclass="card-body"><h5class="card-title">卡片标题</h5><pclass="card-text">卡片内容文字,可搭配任意子元素。</p><ahref="#"class="btn btn-primary">详情</a></div></div>
3.4 导航栏
<navclass="navbar navbar-expand-lg navbar-dark bg-dark"><divclass="container"><aclass="navbar-brand"href="#">Brand</a><divclass="navbar-nav"><aclass="nav-link active"href="#">首页</a><aclass="nav-link"href="#">产品</a><aclass="nav-link"href="#">关于</a></div></div></nav>
  • navbar-expand-lg:在 lg 断点以上展开为横向导航,以下折叠为汉堡菜单。
  • navbar-dark bg-dark:深色背景 + 浅色文字主题。

工具类

工具类是 Bootstrap 的一大亮点——无需写任何 CSS,通过类名就能控制间距、对齐、显示、颜色等。

间距

格式:{属性}{边}-{尺寸},尺寸范围 0~5(或 auto)。

属性含义含义
mmargint / b / s / e / x / y上 / 下 / 左 / 右 / X轴 / Y轴
ppadding(省略)四边同时设置
<divclass="mt-3 mb-2 px-4"><!-- margin-top: 1rem; margin-bottom: .5rem; padding-left/right: 1.5rem --></div>

尺寸对照:0= 0,1= 0.25rem,2= 0.5rem,3= 1rem,4= 1.5rem,5= 3rem。

常用工具类

类别类名示例效果
文本对齐.text-start/.text-center/.text-end左 / 中 / 右对齐
文本颜色.text-primary/.text-danger/.text-muted语义色文字
背景色.bg-light/.bg-dark/.bg-primary背景色
显示控制.d-none/.d-flex/.d-md-block隐藏 / 弹性 / 断点显示
Flex 对齐.justify-content-center/.align-items-center主轴居中 / 交叉轴居中
圆角.rounded/.rounded-circle/.rounded-pill圆角 / 圆形 / 胶囊形
阴影.shadow/.shadow-sm/.shadow-lg阴影层级
宽度.w-25/.w-50/.w-10025% / 50% / 100% 宽度

表单

Bootstrap 的表单控件通过.form-control.form-label等类实现统一外观,配合栅格系统可以快速搭建各类布局。

基础登录表单

<form><divclass="mb-3"><labelfor="email"class="form-label">邮箱</label><inputtype="email"class="form-control"id="email"placeholder="name@example.com"></div><divclass="mb-3"><labelfor="password"class="form-label">密码</label><inputtype="password"class="form-control"id="password"></div><divclass="mb-3 form-check"><inputtype="checkbox"class="form-check-input"id="remember"><labelclass="form-check-label"for="remember">记住我</label></div><buttontype="submit"class="btn btn-primary w-100">登录</button></form>

要点:

  • .form-control统一输入框、下拉框、文本域的样式。
  • .form-label统一标签的字体、间距。
  • .form-check配合.form-check-input+.form-check-label处理 checkbox/radio。

输入组

在输入框两侧附加文本或按钮:

<divclass="input-group mb-3"><spanclass="input-group-text">¥</span><inputtype="text"class="form-control"><spanclass="input-group-text">.00</span></div>

表单栅格布局

将表单元素放入栅格,实现多列布局:

<divclass="row"><divclass="col-md-6 mb-3"><labelclass="form-label"></label><inputtype="text"class="form-control"></div><divclass="col-md-6 mb-3"><labelclass="form-label"></label><inputtype="text"class="form-control"></div></div>

小结

  1. 栅格container > row > col-断点-份数,永远 12 列。
  2. 组件:记住btncardalertnavbar四个最常用组件即可覆盖大部分场景。
  3. 工具类m/p调间距,text/bg调颜色,d-flex调布局,无需手写 CSS。
  4. 表单form-control+form-label+mb-3三件套,快速搭建整齐的表单。
http://www.cnnetsun.cn/news/2686806.html

相关文章:

  • 小白配置Vscode Claude Code 插件免费使用deepseek-v4-pro模型
  • Vite 5升级踩坑记:告别CJS警告,手把手教你两种配置方案(含package.json与.mts文件详解)
  • eBPF与PSketch实现高效网络流量监控
  • 我要换窗户买谁家?避坑指南与靠谱选择
  • [开发说明书] 北斗定位ATGM336H-5N模块 STM32F103程序代码 正点原子Wifi模块小ESP8266 位置经纬度 高度传感器 上传到Onenet云平台数据显示
  • 真理做空机制:波普尔证伪主义的百年灾难与终结——基于科学史、学术生态与公共政策的跨学科实证研究
  • 我最近在做一个 AI 人格蒸馏的小产品,想听听大家的看法
  • 小伤口引发全身抽搐、窒息?JAMA最新文章提醒:破伤风并没有消失
  • 浏览器市场与用户画像分析-数据加工
  • 无人机红外数据集 深度学习框架 无人机高空红外检测系统pyqt5界面 无人机高空红外数据集 无人机高空红外行人车辆检测数据集
  • VSCode配置QT环境
  • 车载AI Agent Harness:行车安全与交互管控
  • 【AI问答】GO代码循环返值
  • 为什么在线视频工具能做到“无损裁剪”?技术原理与工具推荐
  • Socket、Servlet、Tomcat
  • 10. JavaArrayList 核心笔记
  • 鲁班猫4 5寸触摸屏映射修复
  • 800万条浏览器日志,如何加工成用户画像分析数据?看我教你用助睿ETL做浏览器行为分析
  • 用Python和OpenCV手把手教你从卫星图生成NDVI植被指数图(附完整代码)
  • 量子退火救星:subQUBO算法如何让经典计算机和量子机器协同工作?
  • 面试官:既然你用了原子类,那你知道CAS的工作原理是啥吗?
  • 从零到通话:Freepbx+SIP话机实战配置全记录(6001/6002分机互拨保姆级教程)
  • C语言多线程编程入门:用C11的<threads.h>和原子操作告别pthread的繁琐
  • 神经机器翻译核心原理与工程实践:从Transformer到领域自适应
  • 别再只用应变片了!手把手教你用DIC三维全场应变测量系统做材料力学测试(附精度对比数据)
  • 基于粒子群(PSO)优化LQR+前馈(FF)、LQR+前馈、LQR的车辆路径跟踪控制Matlab仿真
  • 赞噢校园集市数据采集工具包:Scrapy驱动的二手商品全链路信息抓取与热度情感分析
  • 别再瞎调了!Unity 2021.3 Quality设置保姆级指南:从手游优化到PC高画质
  • 用ESP32和2.13寸墨水屏DIY一个能传书的阅读器(开源项目复现指南)
  • 3分钟解锁百度网盘资源:智能提取码工具完全指南