Bootstrap 4到Bootstrap 5最核心的变化是什么

夏杰吖_3557

夏杰吖_3557

2026-03-30

501人浏览

原创

bootstrap 5 彻底移除 jquery 依赖,所有组件重写为原生 js,popper 升级至 v2,栅格、间距、flex 工具类逻辑变更,组件 api 和 html 结构不兼容 v4,sass 强制使用 dart sass 且变量命名调整。

bootstrap 4到bootstrap 5最核心的变化是什么

jQuery 依赖被彻底移除

Bootstrap 5 不再内置任何 jQuery 调用,所有 JS 组件(Modal、Dropdown、Toast 等)全部重写为原生 JavaScript。这意味着你以前写的 $(selector).modal('show') 会直接报错:TypeError: $ is not a function。

  • 必须把所有 $(...) 写法替换成原生 DOM 操作或 Bootstrap 的 ES 模块 API,例如:new bootstrap.Modal(document.getElementById('myModal')).show()
  • 如果你项目中还混用 jQuery(比如其他插件依赖它),可以保留 jQuery,但 Bootstrap 自身不再需要它——别再把它当作 Bootstrap 运行前提
  • Popper.js 也从 v1 升级到 v2,如果手动调用 Popper.createPopper(),参数签名已变,需检查 placement、modifiers 等字段是否适配

栅格类和间距工具大幅简化

Bootstrap 5 把响应式前缀逻辑收口,.col-md-4 这类写法依然可用,但默认断点行为变了:现在 .col-6 表示“在所有尺寸下占一半”,而不再是“仅在超小屏生效”;同时废弃了 .col-xs-*(v4 中已弃用,v5 彻底删除)。

VPS Bootstrap
VPS Bootstrap

从零启动全新 VPS,完成 OpenClaw 完整部署,包括备份/恢复及恢复后验证。用于 OpenClaw 部署。

下载
  • form-group 类被移除,改用间距工具替代,例如 mb-3 替代原来的包裹容器
  • 间距单位统一基于 rem,且默认 $spacer = 1rem,如果你覆盖了 Sass 变量但没同步更新 $spacers map,会导致 mt-5、px-4 等类失效或缩放异常
  • Flex 工具类更激进:d-flex 默认启用 flex-wrap: wrap,而 v4 是 nowrap;如需禁用换行,得显式加 flex-nowrap

组件 API 和 HTML 结构不向后兼容

很多常用组件的初始化方式、data 属性、甚至必要 HTML 结构都变了。不是“换个类名就行”,而是底层交互逻辑重构了。

  • alert 组件移除了 data-dismiss="alert",改用 data-bs-dismiss="alert" —— 少写 bs- 前缀就无法关闭
  • button 触发 modal 时,data-target="#id" 必须改为 data-bs-target="#id";否则控制台静默失败,modal 就是打不开
  • card 内部结构微调:.card-block 被 .card-body 完全取代,且 .card-header 不再自动加背景色,需手动加 bg-light 或自定义
  • 表单验证样式逻辑下沉到 :valid/:invalid 伪类,依赖浏览器原生约束;若用 JS 动态设置 setCustomValidity,必须配合 reportValidity() 才能触发 .is-valid 类

Sass 编译和定制链路断裂风险高

v5 强制使用 Dart Sass(不再支持 LibSass),且变量/函数命名批量调整,直接 @import "bootstrap/scss/bootstrap" 并覆盖变量可能编译失败。

  • 旧版自定义变量如 $enable-gradients 仍存在,但 $icon-font-name 等已被移除(图标不再内置);若项目里还引用 bootstrap-icons 的字体路径,需单独安装并配置
  • theme-colors map 默认值变了,primary 从 #007bff 改为 #0d6efd;如果你靠 CSS 选择器硬写颜色(如 .btn-primary { background: #007bff }),视觉会突然偏蓝
  • 构建脚本若仍用 node-sass,会报 Invalid CSS after "...e: $font-family": expected "{", was ";" —— 必须切到 sass(Dart Sass)包,并更新 package.json 中的 script
迁移不是改几个 class 名就能跑通的事。最常卡住的地方,其实是那些“没报错但就是不工作”的细节:data 属性少个 bs-、Sass 变量名拼错半个字母、或者以为 mb-3 还像以前那样只在某断点生效——结果在手机上间距炸开。动手前先 grep 全局的 data- 和 $,比盲目替换快得多。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

bootstrap

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2503

5

前端如何实现即时通讯
前端如何实现即时通讯

实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

2023.10.09

5383

6

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

6430

13

php和前端的关联介绍
php和前端的关联介绍

php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

2024.03.22

6038

10

前端外包工作内容有哪些
前端外包工作内容有哪些

前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

2024.05.22

863

5

bootstrap框架介绍
bootstrap框架介绍

本专题整合了bootstrap框架相关介绍,阅读专题下面的文章了解更多详细内容。

2026.03.18

705

21

bootstrap安装教程
bootstrap安装教程

本专题整合了bootstrap安装相关教程,阅读专题下面的文章了解更多详细操作教程。

2026.03.18

199

9

OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

2026.10.16

0

10

OpenJDK怎么配置Java开发环境
OpenJDK怎么配置Java开发环境

怎样用OpenJDK搭建开发环境?本专题介绍版本选择、下载安装、环境变量配置和编译运行验证,帮助你理清JDK的作用及基本配置流程,并通过简单程序检查环境是否可用,为后续项目开发做好准备。

2026.10.16

0

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Bootstrap5 入门教程
Bootstrap5 入门教程

共0课时 | 0人学习

Bootstrap Components 组件文档
Bootstrap Components 组件文档

共0课时 | 0人学习

Bootstrap Grid 栅格系统
Bootstrap Grid 栅格系统

共0课时 | 0人学习