我一直在尝试使用display:inline-block
div元素,我试图找出为什么我的两个内部div元素没有显示在同一行上。两个div都设置为200px的宽度,其父div设置为400px。
如果我将内部div设置为向左浮动而不是使用inner-block
,则它会按预期工作。
代码段如下:
注意:我已将框大小设置为边框。因此,我认为即使使用1px边框,这也会使两个内部div都精确地为200px。
* {
box-sizing: border-box;
}
html,
body {
padding: 0;
margin: 0
}
.container {
width: 400px;
}
.inner {
border: 1px solid black;
padding: 10px 0;
width: 200px;
display: inline-block;
}

<h1>Why does this display on two lines?</h1>
<div class="container">
<div class="inner">Testing border box property</div>
<div class="inner">Second div</div>
</div>
&#13;
答案 0 :(得分:5)
您可以通过将inline-block
添加到父元素(font-size:0px;
)来删除.container
元素之间的空白区域,然后将font-size
(例如16px)添加到子元素({{1 }})元素。
.inner
&#13;
* {
box-sizing: border-box;
}
html,
body {
padding: 0;
margin: 0
}
.container {
width: 400px;
font-size:0px;
}
.inner {
border: 1px solid black;
padding: 10px 0;
width: 200px;
display: inline-block;
font-size: 16px;
}
&#13;
答案 1 :(得分:3)
您需要删除HTML标记之间不必要的空格或将font-size重置为0。
在这里查看:
<强> Fighting the Space Between Inline Block Elements 强>
上面的链接还有更多解决方案。
另外你可以使用display:block;漂浮:左转。
答案 2 :(得分:0)
边界。边框将为每个框添加2个像素,因此内容实际上是404像素,并且它不适合400像素宽的div。
答案 3 :(得分:0)
容器div中没有足够的空间。将容器div更改为404px以考虑每个内部div的左侧和右侧