使用 Bootstrap 4,我可以创建一个列表项列表。每个列表项都包含一个文本和一个带有图标的按钮。该图标取自Fontello。
在移动屏幕(XS 媒体)上,有时按钮不会将图标作为按钮内容。结果是一个非常小的按钮,不包含图标。这看起来像在移动设备上:
在我的桌面(F12,XS 设备)上的 Chrome 上,结果符合预期。
诊断是:当我添加一些行时,列表项的垂直大小会变小。添加 10 项,列表项只有几毫米高!因此,列表项的大小变得不那么高,按钮变得不那么高。这与' flexbox '有关吗?
为什么会这样?我知道,当您省略在按钮中放置任何内容(或任何文本)时,按钮将保持非常小。如何修复这个?
按钮的代码(在 Angular 6 中)
<ul class="list-group" id="cachesOnHikeList">
<li class="list-group-item d-flex flex-row" *ngFor="let cacheonhike of cachesonhike">
<div class="flex-grow-1">{{ cacheonhike.name| slice:0:22 }}</div>
<button type="button" class="btn btn-warning btn-sm" (click)="removeGeocache( cacheonhike.gcid)"><i class="icon-cancel-circled"></i></button>
</li>
</ul>
'cachesOnHikeList' CSS 类是:
#cachesOnHikeList {
/*max-height: 250px;*/
max-height:35vh;
overflow:auto;
overflow-y:scroll;
}
Plan-B也不起作用。此代码(添加 2 个字符作为按钮文本)产生相同的结果:
<button type="button" class="btn btn-warning btn-sm px-1"
(click)="removeGeocache( cacheonhike.gcid)"> <i class="icon-cancel-circled"></i> </button>
Plan-C:添加“真实”字符作为按钮文本无济于事。“X”显示在小按钮下方。该按钮类似于屏幕截图上的按钮。
<button type="button" class="btn btn-warning btn-sm px-1 font-weight-bold"
(click)="removeGeocache( cacheonhike.gcid)">X</button>