在没有卡片点击/触摸扩展的情况下向垫卡添加纹波

Jon*_*son 5 angular5 angular-material-5

我试图使用角度材料为卡添加涟漪效果.涟漪效应按照它的方式工作,除了它在效果激活时扩展卡的高度.如何阻止卡扩展?

<mat-card mat-ripple>
  <mat-card-content>This is content</mat-card-content>
</mat-card>
Run Code Online (Sandbox Code Playgroud)

Stackblitz演示了这种行为

小智 12

如果添加页脚元素(有或没有内容),则不需要额外的 CSS,这将在激活波纹效果时锁定高度。

<mat-card mat-ripple>
  <mat-card-content>This is content</mat-card-content>
  <mat-card-footer></mat-card-footer>
</mat-card>
Run Code Online (Sandbox Code Playgroud)


Koe*_*len 6

将一个类(即last-child)添加到mat-card的最后一个子节点(在您的情况下为mat-card-content)并定义以下样式:

.mat-card .last-child {
  margin-bottom: 0;
}
Run Code Online (Sandbox Code Playgroud)

问题是matRipple为mat-card添加了一个零高度元素,而Angular Material只删除了最后一个子节点的margin-bottom.

  • 应用于`&lt;mat-card-actions&gt;`元素时,这似乎不起作用,但似乎在&lt;mat-card-content&gt;元素上有效。[请参阅派生的Stackblitz](https://stackblitz.com/edit/angular-material-ripple-lab-bdjbqq)。在这种情况下,此解决方案有何变化? (2认同)

Zha*_*uce 5

应该像将 matRipple 添加到 mat-card 一样简单

    <mat-card class="action-card" matRipple>
        <mat-card-title>
            {{content}}
        </mat-card-title>
        <mat-card-content>
          desc
        </mat-card-content>
      </mat-card>
Run Code Online (Sandbox Code Playgroud)

确保你将 MatRippleModule 注入到你的 module.ts 中,这让我失望了一段时间

  • 我可能在这里遗漏了一些东西,但这段代码的行为方式完全相同。当施加波纹时,卡的高度会扩大。 (2认同)