Для этого можно использовать Угловой список материалов .Вы можете добиться этого стиля стеганого стиля, играя с привязками атрибутов colspan
и rowspan
.
Вот пример, как это сделать:
Шаблон:
<mat-grid-list cols="4" rowHeight="100px">
<mat-grid-tile
*ngFor="let tile of tiles"
[colspan]="tile.cols"
[rowspan]="tile.rows"
[style.background]="tile.color">
<img src="https://picsum.photos/200/300/?random">
</mat-grid-tile>
</mat-grid-list>
Компонент:
import {Component} from '@angular/core';
@Component({...})
export class GridListDynamicExample {
tiles: any[] = [
{text: 'One', cols: 3, rows: 1, color: 'lightblue'},
{text: 'Two', cols: 1, rows: 2, color: 'lightgreen'},
{text: 'Three', cols: 1, rows: 1, color: 'lightpink'},
{text: 'Four', cols: 2, rows: 1, color: '#DDBDF1'},
];
}
Вот Образец StackBlitz для вашей ссылки.