作为一个简单的例子,我有两个非常简单的div:
(绿色的是红色的)
现在如何从绿色div的底部和顶部减去20个像素?
HTML:
<div id="container">
<div id="rows">
</div>
</div>
css:
#container {
width: 200px;
height: 300px;
background: red;
}
#rows {
width: 50%;
height: 100%;
/* margin-top: 20px;
margin-bottom: 20px; */
/* padding-top: 20px;
padding-bottom: 20px; */
/* top: 20px;
bottom: 20px;
height: auto; */
background: green;
}
答案 0 :(得分:4)
将填充添加到#container
DbContext
修改强>:
根据@Adam的建议你也应该包含
padding: 20px 0px;
如果要保留框高度,请到样式表
答案 1 :(得分:3)
这是一种方法,无需在父div中添加填充或在子div中使用calc。
#container {
width: 200px;
height: 300px;
background: red;
position: relative;
}
#rows {
position: absolute;
width:50%;
top: 20px;
bottom: 20px;
background: green;
}
答案 2 :(得分:2)
这可能是解决方案:
>>> move_sprite(locations[destination])
<强> JSFiddle 强>
另一种解决方案是
height: calc(100% - 40px);
为你的容器。 padding:20px 0px;
box-sizing:border-box;
保留容器的高度变化。
答案 3 :(得分:2)
这是一个解决方案:
#rows {
width: 50%;
height: 260px;
margin-top: 20px;
margin-bottom: 20px;
float: left;
background: green;
}