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

mat-expansion-panel收缩时mat-panel-description内容裁剪如何解决

解决方案

问题根因:Angular Material 中 mat-expansion-panel-header 默认配置了固定高度与overflow: hidden属性,且mat-panel-description默认强制文本不换行,所以内容过长时会出现上下边缘裁剪的情况。

方法1:覆盖默认组件样式

你可以通过局部或全局样式修改默认配置,解除高度限制、允许文本换行:

  • 如果你想仅在当前组件生效,在组件对应的css文件中添加如下代码:
/* 解除头部固定高度限制,自适应内容高度 */
::ng-deep mat-expansion-panel-header {
  height: auto !important;
  /* 可根据设计需求调整内边距数值 */
  padding: 16px 24px !important;
}

/* 允许描述文本换行 */
::ng-deep .mat-expansion-panel-header-description {
  white-space: normal !important;
  line-height: 1.5 !important;
}
  • 如果你希望全局所有扩展面板都生效,将上述代码去掉::ng-deep前缀后,放入项目全局styles.css文件中即可。

方法2:加自定义类限定生效范围(避免样式污染)

如果担心::ng-deep会污染全局样式,可以给扩展面板加自定义类限定作用范围:

  1. 修改HTML代码,给面板头部添加自定义类:
<mat-expansion-panel-header class="custom-panel-header">
  <mat-panel-title>
    Filtri
  </mat-panel-title>
  <mat-panel-description>
    {{filteredDescription}}
  </mat-panel-description>
</mat-expansion-panel-header>
  1. 组件css中添加对应样式:
::ng-deep .custom-panel-header {
  height: auto !important;
  padding: 16px 24px !important;
}

::ng-deep .custom-panel-header .mat-expansion-panel-header-description {
  white-space: normal !important;
}

注意:以上方案修改后,面板收缩状态的高度会完全跟随描述文本内容高度自动适配,不会再出现内容截断问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 00:48:06