Bootstrap 栅格系统列数自定义 24列布局设置

落墨酱_7399

落墨酱_7399

2026-04-29

800人浏览

原创

根本原因是变量覆盖时机错误或导入路径不完整:$grid-columns: 24;必须写在@import "bootstrap/scss/functions"之前,并按顺序导入functions、variables、mixins、grid模块,且须使用源码编译而非bootstrap.min.css。

bootstrap 栅格系统列数自定义 24列布局设置

修改 $grid-columns 后编译没生成 .col-24 类

根本原因是变量覆盖时机错误或导入路径不完整。Bootstrap 5 的栅格类(如 .col-1 到 .col-24)由 bootstrap/scss/grid.scss 中的 @each 循环动态生成,该循环读取的是编译时已确定的 $grid-columns 值——不是你写在 @import "bootstrap" 之后的值。

必须确保:

  • $grid-columns: 24; 写在所有 @import 语句之前
  • 按顺序显式导入:@import "bootstrap/scss/functions"; → @import "bootstrap/scss/variables"; → @import "bootstrap/scss/mixins"; → @import "bootstrap/scss/grid";
  • 不能只写 @import "bootstrap/scss/bootstrap";,它内部逻辑可能跳过重定义后的变量处理
  • 确认你用的是源码编译(如 Sass CLI、Vite、Webpack + sass-loader),而非直接引用 bootstrap.min.css(它永远是 12 列)

编译后检查输出 CSS 文件里是否存在 .col-24 或 .offset-12,这是最直接的验证方式。

24 列下 .offset-* 和 .order-* 的行为变化

$grid-columns 不只是改宽度,它会联动影响所有基于列数计算的工具类。设为 24 后,.offset-12 表示向右空出 50% 宽度(12/24),而不是原来 12 列下的 100%;.order-25 也会被生成(因循环到 $grid-columns + 1)。

这意味着:

  • 原有 .offset-6 在 12 列下是 50%,在 24 列下变成 25%,布局可能突然变紧凑
  • .order-13 到 .order-25 全部可用,但多数项目根本用不到这么高的序号,反而增加 CSS 体积
  • 若想限制 .order-* 最大生成到 12,可配合 Bootstrap 5.3+ 新增的 $grid-order-max: 12;(需在 variables 导入前定义)

为什么不能直接设 $grid-columns: 5 实现 5 等分

技术上可以编译成功,但实际不可用:.col-md-1 到 .col-md-5 的宽度分别是 20%、40%…100%,而 Bootstrap 默认的 .col-md-6(50%)等类依然存在,混用会导致宽度冲突和不可预测的换行。

VPS Bootstrap
VPS Bootstrap

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

下载

更关键的是:

  • 响应式断点(md、lg)下的 .col-md-5 和 .col-lg-5 仍依赖同一套 5 列计算,无法像 12 列那样灵活支持 1/3、1/4、1/6 等常用比例
  • 所有 offset-、push-、pull- 类都会变成 20% 步进,偏移控制粒度变粗
  • 社区生态(插件、模板、文档)默认按 12 列设计,强行切 5 列会失去兼容性

真要 5 等分,用 .col-md-5ths 手动类或原生 display: grid 更可控。

24 列的实际宽度计算与 gutter 兼容性

24 列本身不改变 gutter 行为,但会影响其视觉占比。例如默认 $grid-gutter-width: 1.5rem 是固定值,但在 24 列体系中,每列平均宽度变小,gutter 占比相对上升——尤其在小屏下容易显得间隙过大。

建议同步调整:

  • 降低 $grid-gutter-width(如设为 1rem),或用 $grid-gutter-widths 按断点细分
  • 确认 .row 仍使用 margin-left: -$grid-gutter-width / 2,否则首尾列的 margin 可能错位
  • 24 列的 .col-1 宽度是 100% / 24 = 4.166666667%,CSS 中会保留足够精度,但旧版 IE 可能四舍五入失真,生产环境建议测试

真正麻烦的不是“怎么设成 24”,而是“设完之后哪些地方会悄悄变掉”——尤其是团队协作时,没人会特意去翻 variables.scss 看列数变了没。

相关文章

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

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

下载

相关标签:

bootstrap

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

相关专题

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

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

2023.08.11

2663

5

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

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

2023.10.09

5763

6

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

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

2024.03.19

6750

13

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

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

2024.03.22

6458

10

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

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

2024.05.22

923

5

bootstrap框架介绍
bootstrap框架介绍

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

2026.03.18

725

21

bootstrap安装教程
bootstrap安装教程

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

2026.03.18

199

9

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

60

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

40

10

热门下载

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

精品课程

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

共0课时 | 0人学习

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

共0课时 | 0人学习

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

共0课时 | 0人学习