You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Sass中基于Bootstrap容器变量计算各断点50%宽度容器

报错原因

$container-max-widths是Sass Map(键值对)类型变量,并非单个数值,直接对整个Map做除法运算属于非法操作,因此触发报错。

实现方案

不需要写固定数值,你可以通过Sass内置的map-get方法从Map中取出对应断点的宽度值再做计算,推荐直接遍历所有断点自动生成全量响应式类,后续修改全局容器配置时可以自动同步:

// 遍历所有断点生成对应50%宽度容器类
@each $breakpoint, $width in $container-max-widths {
  @media (min-width: map-get($grid-breakpoints, $breakpoint)) {
    .is-style-container-50-#{$breakpoint} {
      max-width: calc(#{$width} / 2);
      /* 保留原.container的基础样式,不需要可以删除 */
      margin: 0 auto;
      padding: 0 var(--bs-gutter-x, 0.75rem);
    }
  }
}

如果只需要单独使用某个断点的宽度,也可以单独取值:

// 仅生成xl断点的50%宽度容器
.is-style-container-50-xl {
  max-width: calc(#{map-get($container-max-widths, xl)} / 2);
}

内容的提问来源于stack exchange,提问作者Cray

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 13:18:01