4

在我的模板中,

...
  <!-- Name Column -->
  <ng-container matColumnDef="name">
    <th mat-header-cell *matHeaderCellDef> Name </th>
    <td mat-cell *matCellDef="let element"> {{element.name}} </td>
  </ng-container>
...

在我的模板样式中,我有

...
.mat-column-name {
  color: red;
  // flex: 0 1 200px !important; // not getting applied
  max-width: 200px;

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
...

我想控制列宽。但是在使用flex属性时mat-column-name,它不会被应用。作为一种解决方法,我正在使用max-width. 它有点工作,但我不明白如何max-width习惯让它响应

编辑:工作代码Stackblitz Demo


使用<mat-table ...而不是<table mat-table...用于 flexbox 启动

我正在使用

<table mat-table ...
...
<ng-container ...
    <th ..
    <td ..
...

相反,我需要更改为

<mat-table ...
<ng-container ...
    <mat-header-cell ...
    <mat-cell ...
...

您的flex: 0 1 200px;CSS 属性将变为活动状态,因为mat-row' 的显示类型flex现在是。

https://material.angular.io/components/table/overview#tables-with-display-flex

4

1 回答 1

9

使用<mat-table ...而不是<table mat-table...用于 flexbox 启动

我正在使用

<table mat-table ...
...
<ng-container ...
    <th ..
    <td ..
...

相反,我需要更改为

<mat-table ...
<ng-container ...
    <mat-header-cell ...
    <mat-cell ...
...

您的flex: 0 1 200px;CSS 属性将变为活动状态,因为mat-row' 的显示类型flex现在是。

https://material.angular.io/components/table/overview#tables-with-display-flex

于 2019-09-11T16:24:05.680 回答