[英]Why the first div content adding extra padding/margin to the top?
<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 添加 float: left 。 它会工作的截图
因为您在每个 3 div
使用inline-block
preperty 。 并且与第一个div
不同,其他divs
有 3 行,并且inline-block
属性尝试根据其他divs
的行调整第一个div
。要解决此问题,请在第一个div's
行的开头使用<br />
如下
<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
基本上,如果您将“垂直对齐:顶部”添加到胭脂 div 元素中,应该没问题:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.