【发布时间】:2016-11-24 15:06:58
【问题描述】:
这里是a fiddle
我希望两个 div 并排占据窗口的所有宽度。我在它们上使用display:inline-block,以便它们水平运行。
<div id="left" class="horizontal">hello</div>
<div id="right" class="horizontal">world</div>
问题是,当我将它们的宽度设置为等于 100%(左侧为 20%,右侧为 80%)时,它们占用的空间比屏幕大,而右侧的 div 被推到另一个 div 之下。
我通过将宽度设置为小于 100%(19% 和 79%)来解决这个问题,但这会在以后出现一些小问题,有时会在我不想要的地方放置不需要的空间。
我缺少什么让我的 div 在使用 100% 的屏幕时水平排列?
我已经看到了here 和this question 中列出的技巧...其中大多数都非常丑陋,我仍然更喜欢使用小于 100% 的宽度。
* {
padding:0;
margin:0;
border:0;
border-spacing:0;
box-sizing: border-box;
-moz-box-sizing: border-box;
}
html {
height:100%;
}
body {
height:100%;
}
#left {
background-color: red;
width:20%;
height:100%;
}
#right {
background-color: green;
width:80%;
height:100%;
}
.horizontal {
display: inline-block;
}
【问题讨论】:
-
就个人而言,我不会使用
inline-block,而是使用block。将position: relative和float: left添加到.horizontal就可以了... -
比利所说的是另一种方法,它不是你问题的答案,它没有解释原因。