【发布时间】:2018-08-08 18:49:52
【问题描述】:
我正在尝试建立一个我也使用 Angular 的网站。我需要将包含一些图标(大约 80 个)的 div 元素完美居中,并且这些图标必须左对齐。内容是通过文本输入过滤的,这种过滤每次都会产生不同数量的图标。我已经尝试过类似于引导程序的网格、flexbox 等的网格系统。当我将内容向左对齐时,右侧的一小块额外区域留空,或者所有元素都居中,底部元素居中,div 看起来没有条理。此外,我需要在每个图标之间保留至少 10 px 的边距。谁能帮我?
.notfound {
text-align: center;
}
.iconelement:hover {
background-color: #ffffff;
box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.16);
color: #000000;
}
.iconelement:active {
background-color: #2974d4;
box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.16);
color: #ffffff;
}
.grid-container {
background-color: #fdfdfd;
padding-bottom: 20px;
display: flex;
justify-content: center;
text-align: left;
flex-wrap: wrap;
}
.iconelement {
width: 60px;
height: 60px;
border-radius: 4px;
background-color: #fdfdfd;
text-align: center;
margin: 10px;
float: none;
color: #000000;
}
.icons {
position: relative;
top: 50%;
transform: translateY(-50%);
font-size: 2em;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div class="ui-g ">
<div class="ui-g-12" *ngIf="(icons|filter:searchText).length===0">
<div class=" ui-g-12 notfound">
<h3>No results for "{{searchText}}"</h3>
</div>
</div>
</div>
<div class="ui-xl-3 ui-lg-3 ui-md-2 ui-sm-1" (click)="unselectIcon()"></div>
<div class=" ui-xl-6 ui-lg-6 ui-md-8 ui-sm-10 ">
<div class="ui-g-12 grid-container">
<div class="ui-g-1 iconelement" *ngFor="let icon of icons| filter : searchText; let i = index " (click)="getIcon(icon.id)">
<i class="icons {{icon.name}}"></i>
</div>
</div>
</div>
<div class="ui-xl-3 ui-lg-3 ui-md-2 ui-sm-1" (click)="unselectIcon()"></div>
</div>
ps: text align: center 不能解决这个问题。
【问题讨论】:
-
这不是您在第一个链接中发送的问题的重复。居中 div 元素不像列表元素那样工作。此外,我之前尝试过该解决方案,但这并不能解决它。为剩下的内容辩护会导致我遇到的第一个问题。
-
不幸的是,您没有提供演示问题的代码,因此“文字图片”有点不清楚......因此”可能” 重复。也许如果您能制作一个实际的最小演示,我们就可以了解您正在使用的内容。