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

设置固定max-height的Bootstrap row溢出时仍占用空间的问题

解决Bootstrap Row滚动容器高度溢出问题

问题分析

你遇到的问题根源在于直接将Bootstrap的row作为滚动容器:Row默认是flex布局,其高度计算逻辑会优先适配内部col-auto元素的总高度,即便设置了max-height和overflow-y:auto,也无法正确触发滚动,最终导致容器撑满内容空间甚至超出页脚。

解决方案:分离滚动容器与Bootstrap Row

将滚动容器和Row的职责拆分,让Row作为滚动容器的子元素,这样滚动容器的高度限制才能正常生效:

<script setup>
const props = defineProps({
  filterList: Object,
  ...
})
</script>

<template>
  <section class="col-3">
    <div class="mb-3">
      <h3 class="fs-3">Color</h3>
      <!-- 独立滚动容器,负责高度限制与滚动逻辑 -->
      <div class="colors-div overflow-y-auto">
          <!-- Bootstrap Row仅负责内部颜色选项的流式布局 -->
          <div class="row g-3">
            <div class="col-auto" v-for="(color, index) in filterList.colors">
              <input type="checkbox" class="btn-check" :id="'color-' + (index + 1)" autocomplete="off">
              <label class="btn" :for="'color-' + (index + 1)" :style="'background-color: ' + color"></label>
            </div>
          </div>
      </div>
    </div>
  </section>
</template>

<style scoped>
.colors-div {
  max-height: 15em;
}
</style>

关键说明

  • 滚动容器(colors-div)为普通块级元素,通过max-height限制高度,overflow-y:auto触发垂直滚动
  • Bootstrap Row仅承担内部col-auto的布局职责,其高度会被滚动容器的约束限制,不会再撑开父容器

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 06:02:02