如何修复 Bootstrap 5+ 中 Modal 不弹出及页面元素错位问题-html教程

本文详解 bootstrap 5+ 版本中 modal 无法触发显示、且隐藏时仍占用布局空间的常见原因,重点指出 data-toggle/data-dismiss 属性已更新为 data-bs-toggle/data-bs-dismiss,并提供完整可运行的修复方案。

Bootstrap 自 5.0 版本起全面重构了 JavaScript 插件的 DOM API,废弃了旧版(v4 及更早)中使用的 data-toggle 和 data-dismiss 属性,统一替换为带命名空间的 data-bs-toggle 和 data-bs-dismiss。若项目升级至 Bootstrap 5.3(或任何 5.x 版本)但未同步更新 HTML 属性,Modal 将完全失效:点击按钮无响应,且因 .modal.fade 类默认保留 display: block(配合 opacity: 0 和 visibility: hidden 实现“隐藏”),导致其仍参与文档流,从而推挤、错位周围元素。

✅ 正确写法(Bootstrap 5.3+)

需同时修改触发按钮与模态框内所有关闭操作按钮:

<!-- 触发按钮:使用 data-bs-toggle 和 data-bs-target -->
<button 
  id="sign_up" 
  type="button" 
  class="btn btn-primary" 
  data-bs-toggle="modal" 
  data-bs-target="#exampleModal">
  Sign Up!
</button>

<!-- 模态框内部关闭按钮(标题栏右上角) -->
<button 
  type="button" 
  class="btn-close" 
  data-bs-dismiss="modal" 
  aria-label="Close">
</button>

<!-- 底部“Close”按钮 -->
<button 
  type="button" 
  class="btn btn-secondary" 
  data-bs-dismiss="modal">
  Close
</button>

⚠️ 注意:Bootstrap 5+ 推荐使用 替代自定义 × 结构,语义更清晰、样式更一致;如需保留 × 符号,仍可使用原结构,但必须确保 data-bs-dismiss=”modal” 存在。

? 必备资源引入(CDN 示例)

确保页面正确加载 Bootstrap 5 的 CSS 与 bundle 版 JS(含 Popper 和 Modal 所需依赖):

夏夕资源网专注于CMS网站模板,主流语言整站网站源码下载,网站建设相关教程分享,好用的软件素材整合下载,提供一站式便捷自助服务。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"zy.lucklyus.top",如遇到无法解压的请联系管理员!
夏夕资源网-网站模板_免费源码_资源素材 » 如何修复 Bootstrap 5+ 中 Modal 不弹出及页面元素错位问题-html教程
在线时间:12:00 - 22:00
关注微信公众号:微信公众号
站长邮箱:[email protected]
  • 运营天数: 1394+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4039845+
  • 本周更新: 0+
  • 最后更新: 2026-03-16

本站指数

×
  • 运营天数: 1394+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4039845+
  • 本周更新: 0+
  • 最后更新: 2026-03-16