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

如何让Quasar的q-card添加内容后仍保持响应式并支持内部滚动

解决Quasar中Q-Card响应式高度与内部滚动的问题

要实现无内容时Q-Card占满可用高度、内容过多时卡片内部滚动的效果,无需固定高度,利用Quasar的Flex布局类即可完成:

修改后的组件代码

<template>
  <q-layout>
    <q-page-container style="background-color: #e0e5ea;">
      <q-page class="column">
        <menu-bar></menu-bar>
        <!-- 用items-stretch让卡片等高拉伸 -->
        <div class="q-ma-lg row col items-stretch">
          <!-- h-100确保卡片占满父容器高度,column启用垂直flex布局 -->
          <q-card flat class="col h-100 column" style="border-radius: 9px;">
            <!-- flex-grow-1填充卡片剩余空间,overflow-auto实现内容滚动 -->
            <q-card-section class="flex-grow-1 overflow-auto">
              <!-- 示例内容:多个user-account组件 -->
              <user-account v-for="i in 5" :key="i"></user-account>
            </q-card-section>
          </q-card>
          <q-card flat class="col q-ml-lg h-100 column" style="border-radius: 9px">
            <q-card-section class="flex-grow-1 overflow-auto">
              <!-- 另一个卡片的内容区域 -->
            </q-card-section>
          </q-card>
        </div>
      </q-page>
    </q-page-container>
  </q-layout>
</template>

关键类的作用说明

  • items-stretch:让Row容器内的卡片自动拉伸到相同高度,保持布局一致性。
  • h-100:使Q-Card高度占满父容器分配的可用空间,维持响应式表现。
  • column:让Q-Card内部采用垂直Flex布局,便于子元素分配空间。
  • flex-grow-1:让Q-Card-Section占据卡片内的剩余空间,无内容时填满整个卡片;有内容时先占满空间,超出部分触发滚动。
  • overflow-auto:当Q-Card-Section内的内容高度超过容器时,自动显示垂直滚动条,避免卡片撑大导致页面整体滚动。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 03:10:57