【发布时间】:2018-11-14 21:03:27
【问题描述】:
我目前正在尝试设计一系列简单的多选框。
https://next.plnkr.co/edit/wBfAMTYvPPjWncsY?open=lib%2Fscript.js&deferRun=1
这是 HTML
<div class="listBoxSpacing">
<span class="listBoxHeaders">Days Of The Week:</span>
<select class="listBoxSelectStyle" multiple size="7" ng-options="day as day.day for day in vm.daysOfWeek track by day.day" ng-model="vm.daysOfWeekSelected"></select>
<br />
<button>Select All</button>
</div>
<div class="listBoxSpacing">
<span class="listBoxHeaders">Dates Of The Month:</span>
<select class="listBoxSelectStyle" multiple size="7" ng-options="date as date.date for date in vm.datesInTheMonth track by date.date" ng-model="vm.datesInTheMonthSelected"></select>
<br />
<button>Select All</button>
</div>
<div class="listBoxSpacing">
<span class="listBoxHeaders">Days Of The Week:</span>
<select class="listBoxSelectStyle" multiple size="7" ng-options="day as day.day for day in vm.daysOfWeek track by day.day" ng-model="vm.daysOfWeekSelected"></select>
<button>Select All</button>
</div>
这是 Javascript...
vm.daysOfWeek = [
{day: 'Monday'},
{day: 'Tuesday'},
{day: 'Wednesday'},
{day: 'Thursday'},
{day: 'Friday'},
{day: 'Saturday'},
{day: 'Sunday'},
];
vm.datesInTheMonth = [];
for (let i = 1; i < 32; i++) {
vm.datesInTheMonth.push({date: i});
}
vm.daysOfWeekSelected = [];
vm.datesInTheMonthSelected = [];
这是CSS
.listBoxHeaders {
display:block;
margin-top: 10px;
}
.listBoxSpacing {
float:left;
}
.listBoxSpacing:nth-child(n+2) {
margin-left:30px;
}
.listBoxSpacing button{
width: 100%;
}
.listBoxSelectStyle {
width:100%;
margin-bottom: 0;
padding-bottom: 0;
}
从上面的代码中可以看出,第一个和第二个(带有 br 标签)与标题正确对齐。但是,与第一个具有相同代码的第三个没有正确对齐标题(没有 br 标签)。
我很好奇为什么会出现这种行为,谁能将我链接到文档/解释这个概念,以便我将来能理解这种行为?
【问题讨论】:
-
我已将代码直接添加到问题中,抱歉,我认为 plunker 会更有益,因为它是一个视觉问题。谢谢你让我知道:)
-
为什么你必须浮动一个元素来提供间距?如果你想使用剩余空间,你可以将 display 属性更改为 inline-block。
-
@vssadineni 感谢您的建议,我现在已经在我的实际代码环境中切换了这些(不是 plunker)。对这个问题有任何见解吗? :)