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

使用Angular Material Grid List时如何避免出现水平滚动条

问题原因

水平滚动条出现的核心原因是mat-grid-list的总宽度计算超出了父容器的可视宽度,常见触发场景包括:

  • 盒模型默认是content-box,gutterSize的边距会额外叠加到内容宽度上,导致整体宽度溢出
  • 固定rowHeight设置过大,和你给组件设置的高度不匹配,间接撑宽容器
  • mat-grid-tile内部内容宽度超出 tile 本身的宽度,没有做溢出隐藏

解决方法

你可以按下面的步骤逐一排查调整:

  1. 统一盒模型,避免边距叠加溢出
    在组件的样式文件中添加以下代码:
mat-grid-list, mat-grid-tile {
  box-sizing: border-box;
}
/* 父容器也可以加上统一盒模型的规则 */
:host {
  box-sizing: border-box;
}
  1. 控制横向溢出,隐藏多余的横向内容
    给mat-grid-list添加横向溢出隐藏规则,如果需要垂直滚动可以单独开启:
mat-grid-list {
  width: 100%;
  overflow-x: hidden;
  /* 如需固定高度开启垂直滚动,加上下面两行 */
  max-height: 200px;
  overflow-y: auto;
}
  1. 调整rowHeight配置,避免固定值过高溢出
    你当前设置的rowHeight="650px"是固定行高,如果你给组件设置的总高度只有200px以上,固定行高会导致整体高度溢出,你可以改成自适应配置:
<!-- 改成比例,宽高比2:1 -->
<mat-grid-list cols="4" rowHeight="2:1" gutterSize="10px">
<!-- 或者改成fit模式,自适应内容高度 -->
<mat-grid-list cols="4" rowHeight="fit" gutterSize="10px">
  1. 响应式调整列数,避免小屏宽度不足
    如果是在小屏设备上出现横向滚动,可以通过媒体查询动态调整cols的数值,小屏场景下减少列数即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 16:15:04