gpt4 book ai didi

angular - 我无法使用 Angular Material 的 mat-grid-tile 自定义样式属性

转载 作者:行者123 更新时间:2023-12-04 13:14:50 31 4
gpt4 key购买 nike

我试图在每行中创建 6 个磁贴,每个磁贴由左上 Angular 的金额、右上 Angular 的 + 符号、慈善名称下方、最左边的日期下方等组成。但一切都在中间。如何自定义每个 mat-grid-tile 的样式。

HTML Example

mat-grid-list cols="6" rowHeight="4:3" [gutterSize]="'10px'">
<mat-grid-tile *ngFor="let item of items; let i=index">
<div class="div-table">
<div class="div-row">
<div class="div-cell" style="font-weight: bold; font-size: medium;">{{amount | currency}}</div>
</div>
<div class="div-row">
<div>{{item.Name}}</div>
</div>
</div>
</mat-grid-tile>

CSS Example


mat-grid-tile {
background: lightblue;
}

.div-table {
display: table;
width: auto;
background-color: #eee;
}
.div-row {
display: table-row;
width: auto;
clear: both;
}
.div-cell {
float: left;
display: table-column;
width: 200px;
background-color: #ccc;
}

最佳答案

在这里你有一个 Stackblitz demo .

你可以放一个 div在 tile 内用作容器元素(以避免弄乱 mat-grid-tile 样式)。在这个容器内,你可以使用 flex-box根据需要构建布局。容器div每个瓷砖可能有类似的东西:

.container {
display: flex;
flex-direction: column;
justify-content: space-between;
width: 100%;
height: 100%;
}

然后,在容器内部 div , 你可以有 3 section元素: 标题 (占可用垂直空间的 20% 以上), 页脚 (占可用垂直空间的 20% 以上)和 正文 (占用页眉和页脚未占用的任何空间):

.container > .header {
flex-basis: 20%;
order: 1; /* Assure this is the first element, at the top */
}

.container > .footer {
flex-basis: 20%;
order: 3; /* Assure this is the third element, at the bottom */
}

.container > .body {
flex: 1;
order: 2; /* Assure this is the second element, in the middle */
}

从这里你几乎可以做任何你想做的事情。例如,您说您希望在标题中左侧有名称,右侧有一个符号。所以让我们把标题也变成另一个 flex 容器本身,有两个 section元素: header-startheader-end (以防万一您想要不同的 CSS 样式):

.header {
display: flex;
justify-content: space-between;
flex-basis: 20%;
order: 1;
}

整体 html 将如下所示:

<mat-grid-list cols="2" rowHeight="2:1">
<mat-grid-tile *ngFor="let i of [1,2,3,4]">
<div class="container">
<section class="header">
<section class="header-start>
Charity name
</section>
<section class="header-end">
<mat-icon>home</mat-icon>
</section>
</section>

<section class="footer">
footer
</section>

<section class="body">
body
</section>
</div>
</mat-grid-tile>
</mat-grid-list>

关于angular - 我无法使用 Angular Material 的 mat-grid-tile 自定义样式属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61539051/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com