<div style="background-color: #f6f6f6; white-space: nowrap; padding-bottom: 3px; height: 270px;">
<div style="display: inline-block; background-color: white; margin-right: 3px; width: 286px; height: 267px;">
asdf<br />asdsd
</div><div style="display: inline-block; background-color: white; margin-right: 3px; width: 286px; height: 267px">
asdf<br />dsasdf<br />asdsd
</div>
<div style="display: inline-block; background-color: white; width: 286px; height: 267px">
asdf<br />dsasdf<br />asdsd
</div>
</div>
小提琴: https://jsfiddle.net/mdogancay/gbk350av/
为什么会这样?
只需向父/外部div 添加一个display:flex
,这应该可以解决填充问题。
#outer {
background-color: #f6f6f6;
white-space: nowrap;
padding-bottom: 3px;
height: 270px;
display:flex;
}
#div1 {
display: inline-block;
background-color: white;
margin-right: 3px;
width: 286px;
height: 267px;
}
#div2 {
display: inline-block;
background-color: white;
margin-right: 3px;
width: 286px;
height: 267px;
}
#div3 {
display: inline-block;
background-color: white;
width: 286px;
height: 267px;
}
<div id="outer">
<div id="div1">
div1-line1<br />div1-line2
</div>
<div id="div2">
div2-line1<br />div2-line2<br />div2-line3
</div>
<div id="div3">
div3-line1<br />div3-line2<br />div3-line3
</div>
</div>
这是因为您使用display:inline-block为每个div添加高度。尝试删除它并添加浮点数:为每个div保留。它会工作 截屏
因为你在每 3div
中使用inline-block
preperty .与前div
不同的是,其他divs
有 3 行,inline-block
属性尝试根据其他divs
的行调整第一行div
。若要解决此问题,请在第一行的开头使用<br />
div's
如下
<div style="background-color: #f6f6f6; white-space: nowrap; padding-bottom: 3px; height: 270px;">
<div style="display: inline-block; background-color: white; margin-right: 3px; width: 286px; height: 267px;">
<br />asdf<br />asdsd
</div>
<div style="display: inline-block; background-color: white; margin-right: 3px; width: 286px; height: 267px">
asdf<br />dsasdf<br />asdsd
</div>
<div style="display: inline-block; background-color: white; width: 286px; height: 267px">
asdf<br />dsasdf<br />asdsd
</div>
</div>
或 将display: flex
属性添加到父div
(不添加额外的<br />
)
<div style="display: inline-block; background-color: white; margin-right: 3px; width: 286px; height: 267px;">
asdf<br />asdsd
</div>
<div style="display: inline-block; background-color: white; margin-right: 3px; width: 286px; height: 267px">
asdf<br />dsasdf<br />asdsd
</div>
<div style="display: inline-block; background-color: white; width: 286px; height: 267px">
asdf<br />dsasdf<br />asdsd
</div>
</div>
这与HTML元素的默认"垂直对齐"属性有关。 您可以在此处阅读有关它的更多信息: https://css-tricks.com/fighting-the-space-between-inline-block-elements/并在此处查看一些工作示例:https://dabblet.com/gist/2422174
基本上,如果您将"垂直对齐:顶部"添加到 rougediv 元素中,它应该可以:)