在div的顶部和底部减去20个像素

时间:2015-06-16 13:23:39

标签: html css

作为一个简单的例子,我有两个非常简单的div:

enter image description here

(绿色的是红色的)

现在如何从绿色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;

}

http://jsfiddle.net/clankill3r/2L6c2bLf/1/

4 个答案:

答案 0 :(得分:4)

将填充添加到#container

DbContext

修改

根据@Adam的建议你也应该包含

padding: 20px 0px;
如果要保留框高度

,请

到样式表

答案 1 :(得分:3)

这是一种方法,无需在父div中添加填充或在子div中使用calc。

JSFIDDLE

#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;
}

http://jsfiddle.net/2L6c2bLf/5/