保持2个div之间的距离不变

时间:2015-06-02 14:41:13

标签: javascript jquery html css css3

我有以下HTML标记 -

<div class="bar">
<p> Example Text </p>
</div>

<div class="dynamic-height">
 <div class="box">
  <p> Example Text 1</p>
 </div>
</div>

<div class="footer">
This is footer
</div>

以及以下CSS -

.bar{
     height:20px;
     width:100%;
    }
 .box
    {
      float:left;
      width:50px
      height:50px;
      border:1px solid black;
    }
.dynamic-height
    {
     min-height:50px;
     width:100%;
    }
. body
    {
       height:200px;
    }
.footer
    {
    height:20px;
    position:relative;
    bottom:0;
    }

以下是这些div的预期规则 -

  1. 带有课程的div&#34; dynamic-height&#34;将有更多的

    元素 使用javascript动态添加到它。所以它的高度将是 动态

  2. div&#34; footer&#34;将始终必须在底部,动态高度和页脚div之间的距离应始终为10px; (保证金:10px)

  3. 遇到问题 -

    我添加动态&#34; p&#34;使用javascript的元素,使用类&#34;动态高度&#34;的div,此div的高度增加,如果我继续添加&#34; p&#34;元素高度增加,然后它与页脚div重叠。

    我想要的是始终在页脚div和动态高度div之间保持10px的距离

4 个答案:

答案 0 :(得分:3)

只需在页脚中添加margin-top即可拥有10px的空间

.footer
{
    margin-top: 10px;
    height:20px;
    position:relative;
    bottom:0;
}

答案 1 :(得分:1)

清除.box div上的.footer div中的左侧浮点数:

.footer{
    height:20px;
    position:relative;
    bottom:0;
    clear:left;
    margin-top:10px;
}

应该这样做。 .footer div挂在重新定位的.box div。

答案 2 :(得分:0)

在.dynamic-height类中添加margin-bottom,如下所示margin-bottom :10px;

答案 3 :(得分:0)

就我的问题而言,这里的JSFiddle会使我的案例清楚。

<div class="bar">
<p> Example Text </p>
    <input type="button" onclick="add();" value="Add box"/>
</div>

<div class="dynamic-height" id="dyn">
     <div class="box">
      <p> Example Text 1</p>
     </div>        
</div>
<div class="footer">
This is footer
</div>

我能够从tahdhaze09获取提示并使用它将overflow属性设置为auto,为动态高度div。

正如我的原始问题,或许不够清楚,是使两个div之间的距离保持不变,其中一个具有动态高度。所以对于这个div,溢出属性做了神奇的