我试图通过将它包装在两个div之间来响应一个div - centerdiv
和sidedivs
。
代码:
.overmiddlediv {
width: 100%;
height: 150px;
background-color: blue;
float: left;
}
.sidedivs {
width: 25%;
float: left;
padding-left: 50px;
background-color: red;
}
.centerdiv {
width: 50%;
float: left;
background-color: white
}
<div class="overmiddlediv">
<div class="sidedivs">
<p>Left side</p>
</div>
<div class="centerdiv">
<p>This is the middle and is 50%</p>
</div>
<div class="sidedivs">
<p>Right side</p>
</div>
</div>
JSFiddle at this link shows the output并且它不正确,因为右侧位于左侧,当它应该位于白色的右侧时,也应该是25%。
我已经玩过去除了float:left
上的.sidedivs
并尝试了一个绝对的位置,但没有成功。奇怪的是,我已经使用了相同的代码结构作为页脚,它的工作原理与它应该完全相同 - 将每个部分分开所需的25%-50%-25%,但就此而言,它不是,我是不知道我错过了什么。
See this JSFiddle已删除所有左侧元素和p标记。
答案 0 :(得分:2)
将此添加到CSS中,以便您的百分比值不受填充和边距的影响/改变:
html, body {
margin: 0;
}
* {
box-sizing: border-box;
}
答案 1 :(得分:2)
您必须设置box-sizing:border-box
:https://jsfiddle.net/v9f1qbng/1/
否则宽度将添加到填充大小。
答案 2 :(得分:1)