我想从嵌套数组创建网格模板. 如果元素自然具有相同的高度,则此方法有效,但当值太长时,某些元素具有不同的高度
<div id="container" [style.grid-template-columns]="'repeat(outerArray.length, 1fr)'" [style.columnGap.rem]="1" *ngIf="outerArray.length != 0">
<div class="outerArray" *ngFor="let inner of outerArray">
<div *ngFor="let item of inner">
{{item}}
</div>
</div>
</div>
结果项目应该这样放置:
内在1价值1 内在2值1 内在3价值1
内在1价值2 内在2值2 内在3值2
内在1价值3
With grid look like this: (array with 8 inner arrays)
我想让列中的每个元素保持相同的宽度(但列可以有不同的宽度),并且行中保持相同的高度.
表工作得很好,但来自一个内部数组的值填充行而不是列,而且,在我看来,表的语义不适合我的需要.
<table *ngIf="outerArray.length != 0">
<tbody>
<tr *ngFor="let inner of outerArray">
<td *ngFor="let item of inner;">
{item}}
</td>
</tr>
</tbody>
</table>
数组的大小不同(开始时更长,然后其余的则少一项)
示例数组可能看起来像这样:
let outerArray = [
[
"short",
"bit longer",
"example value"
],
[
"not so long, but longer string",
"short words",
"bitLonger twoWords"
],
[
"shorter array",
"different lengths of strings"
],
[
"another shorter array",
"string"
]
]
数组的数量和长度可能不同,有时一个数组有8个元素,但也可以有8个数组有2个元素. 字符串有一两个单词,但单词有时最多有15个字符,因此当内部数组很少时,字符串需要两行才能适应字符串宽度
我的完美解决方案是创建不嵌套的Divs并使用CSS样式正确放置它们