【发布时间】:2017-12-12 22:16:54
【问题描述】:
我正在寻找一种在列表为空时删除“下拉菜单”<ul> 标记上的填充的方法,因此没有显示任何内容,而不是显示对应于填充的狭窄空间。
我不想做.dropdown{padding: 0},因为当它不为空时它会删除必要的填充。但是.dropdown:empty{padding:0} 不起作用,因为内容不是空的,只能由 *ngIf 过滤(我猜,虽然我知道 Angular 会从 DOM 中删除元素)。
<ul role="menu" class="dropdown-menu">
<li *ngFor="let option of options">
<span *ngIf="option.condition;then template1 else template2">
</span>
<ng-template #template1>some content</ng-template>
<ng-template #template2>some content</ng-template>
</li>
</ul>
【问题讨论】:
-
你可能对 javascript 或/和 jQuery 有很好的了解,所以只需检查 .dropdown-menu 或其他 div 是否有子元素...如果现在,设置 .css('padding','0px')
-
从
.dropdown-menu中删除填充并使用li或其中的内容的填充,这样如果没有li就没有填充
标签: css angular bootstrap-4