【发布时间】:2018-02-20 05:27:29
【问题描述】:
在带有嵌套flex 框的inline-flex 旁边有一个inline 项目与垂直对齐(它忽略了上边距)混淆,我发现的一个解决方案是在@987654326 中放置一个::before @item,但我不确定为什么会修复它。
第一个忽略标签上的上边距,上边距适用于第二个,因为::before。
label {
margin: 20px 5px 0 0;
}
.input-container {
display: inline-flex;
}
.with-before::before {
content: '';
}
.buttons {
display: flex;
flex-direction: column;
}
<div>
<label>Top margin ignored:</label>
<div class="input-container">
<div class="buttons">
<button><</button>
<button>></button>
</div>
<input type="text"/>
</div>
</div>
<br/>
<div>
<label>Top margin works:</label>
<div class="input-container with-before">
<div class="buttons">
<button><</button>
<button>></button>
</div>
<input type="text"/>
</div>
</div>
【问题讨论】:
-
将
vertical-alignment: top和display: inline-block添加到标签也可以使上边距起作用,但仍然不知道为什么。 codepen.io/GarthDB/pen/veBjvM
标签: html css flexbox vertical-alignment