如何将 MatTable 中的特定单元格扩展到行高的 100%?

Ant*_*sss 2 css angular-material

由于某些原因设置height:100%不起作用。 在此处输入图片说明

关于如何仅将给定单元格(红色单元格)扩展到 100% 行高的任何想法?

这是给你的 Stackblitz

https://stackblitz.com/edit/angular-927yqj?file=app/table-basic-example.css

<div class="example-container mat-elevation-z8">
  <mat-table #table [dataSource]="dataSource">

    <!--- Note that these columns can be defined in any order.
          The actual rendered columns are set as a property on the row definition" -->

    <!-- Position Column -->
    <ng-container matColumnDef="position">
      <mat-header-cell *matHeaderCellDef> No. </mat-header-cell>
      <mat-cell *matCellDef="let element"> {{element.position}} </mat-cell>
    </ng-container>

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

    <!-- Weight Column -->
    <ng-container matColumnDef="weight">
      <mat-header-cell *matHeaderCellDef> Weight </mat-header-cell>
      <mat-cell *matCellDef="let element"> {{element.weight}} </mat-cell>
    </ng-container>

    <!-- Symbol Column -->
    <ng-container matColumnDef="symbol">
      <mat-header-cell *matHeaderCellDef> Symbol </mat-header-cell>
      <mat-cell *matCellDef="let element"> {{element.symbol}} </mat-cell>
    </ng-container>

    <mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>
    <mat-row *matRowDef="let row; columns: displayedColumns;"></mat-row>
  </mat-table>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS

.example-container {
  display: flex;
  flex-direction: column;
  max-height: 500px;
  min-width: 300px;
}

.mat-table {
  overflow: auto;
  max-height: 500px;
}

.mat-column-symbol{
  background-color:red;
  height:100%;
}
Run Code Online (Sandbox Code Playgroud)

ReS*_*ano 7

尝试这个:

.mat-column-symbol{
    background-color:red;
    align-self: stretch;
    display:flex;
    align-items:center;
}
Run Code Online (Sandbox Code Playgroud)