【发布时间】:2018-04-26 01:54:54
【问题描述】:
我有一个 API 来获取我用小彩色块表示的 json 数据。 现在我有这些块的固定高度和宽度。 我的问题是如何修改这些块的大小,以便当对象数量不断增加时,这些块的大小不断减小,确保父容器的大小适合页面。我还想要一次只能显示 200 个块的选项
HTML
<div class="ui-array-resources">
<div *ngFor="let resource of filteredResources;" class="ui-array-resource" (click)="resourceDidClick(resource)"
[ngClass]="{'ui-status-not-connected': resource.primary_status==='NC',
'ui-status-sleeping': resource.primary_status==='SLP',
'ui-status-inactive': resource.primary_status==='IA',
'ui-status-available': resource.primary_status==='GI',
'selected-resource': resource === selectedResource}">
</div>
</div>
CSS
.ui-array-resources {
display: flex;
flex-wrap: wrap;
justify-content: center;
border: 1px dashed lightgray;
padding: 30px;
margin:50px;
position: relative;
.ui-array-resource {
width:30px;
height: 30px;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
margin: 1px;
border-radius: 3px;
&.selected-resource {box-shadow: inset 1px 2px 10px rgba(0, 0, 0, 0.5);}
&:hover {
transform: scale(1.5);
border: 1px solid white;
box-sizing: border-box;
box-shadow: none;
}
&.ui-status-not-connected {background-color: #EF5350;}
&.ui-status-available {background-color: #66BB6A;}
&.ui-status-sleeping {background-color: #FFCA28;}
&.ui-status-inactive {background-color: #D3D3D3;}
}
}
我浏览了几篇文章和解决方案,但对于未定义的大量此类嵌入式对象似乎没有任何效果。
【问题讨论】:
-
好吧,为了修改所有这些正方形的大小,我会将它们应用到 CSS 属性
width和height,它们每个都链接到 Angular 属性知道你有多少块。剩下的就是数学了。抱歉,根据您发布的代码,我无法写出完整的答案,但我给了您一个想法。