angular - AngularMaterial - MatRipple is displaying ripple outside table row
问题描述
I am trying to use matRipple
in table row on click. However, ripple effect is flowing outside particular table row tr
.However, it is working for table td.
The effect should be within boundary as it happens in MatButton
.
Link:- https://stackblitz.com/edit/angular-material-2ahyd7?file=app/app.component.html
<table>
<tbody>
<tr matRipple (click)="callalert()">
<td>sss</td>
<td>ssssss</td>
</tr>
<tr matRipple (click)="callalert()">
<td>sss</td>
<td>ssssss</td>
</tr>
<tr matRipple (click)="callalert()">
<td>sss</td>
<td>ssssss</td>
</tr>
<tr matRipple (click)="callalert()">
<td>sss</td>
<td>ssssss</td>
</tr>
</tbody>
</table>
解决方案
看起来这是一个已知问题:https ://github.com/angular/material2/issues/11883
使用的潜在解决方法mat-table
<table mat-table [dataSource]="items">
<!-- Name Column -->
<ng-container matColumnDef="name">
<mat-header-cell *matHeaderCellDef> Name </mat-header-cell>
<mat-cell *matCellDef="let item"> {{item.name}} </mat-cell>
</ng-container>
<mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>
<mat-row *matRowDef="let row; columns: displayedColumns;" matRipple></mat-row>
</table>
您还可以创建一个.ripple
CSS 类并将该类应用于您想要波纹的行:
.ripple {
background-position: center;
transition: background 0.8s;
}
.ripple:hover {
background: white radial-gradient(circle, transparent 1%, white 1%) center/15000%;
}
.ripple:active {
background-color: #ccc;
background-size: 100%;
transition: background 0s;
}
推荐阅读
- python - 对 API URL 的 Python 获取请求返回 422 错误,但在浏览器上没有问题。潜在的服务人员问题?
- c++ - C++ 与关系条件混淆的问题,我没有得到什么?
- javascript - AWS Cognito - AdminInitiateAuth 与 InitiateAuth
- javascript - 如何将局部变量传递给全局函数
- java - 如何解决android改造2中通过api注册时得到响应400的错误
- reactjs - moment.js 解析字符串'2017 年 7 月 15 日,下午 3:12:09' fromNow()
- selenium - 在 Winium 中为 WiniumDriver 设置超时
- javascript - 使用 VBA 插入标签值
- python - 从机场网站抓取航班数据表失败
- reactjs - 如何在 React Native 中做 WebView?