关于在Bootstrap 3 .well中定位相对和绝对框的问题

时间:2014-12-19 20:28:23

标签: css css3 twitter-bootstrap twitter-bootstrap-3

请你看一下This Demo,让我知道为什么我无法将#box-wrap及其子元素(#box-1, #box-2, #box-3)正确放入Bootstrap 3 {{} 1}}



.well

#box-wrap {
  position: relative;
  width:100%;
  background-color:#fff;
}

#box-1 {
  position: absolute;
  width:100%;
  height:120px;
  top: 0;
  left: 0;
  background:khaki;
}

#box-2 {
  position: absolute;
  top: 5px;
  left: 5px;
}
#box-3 {
  position: absolute;
  top: 44px;
  left: 5px;
}




谢谢,

3 个答案:

答案 0 :(得分:2)

如果 我正确理解了您的布局,这是我的解决方案。

我已移除position: absolute;并将box-2box-3div更改为span s(因为div默认为display:block

<强> HTML

<div class="row">
  <div class="container">
    <div class="well"> 
      <div id="box-wrap">
        <div id="box-1"></div>
        <span id="box-3"><button class="btn btn-success">&lt;</button></span>      
        <span id="box-2"><button class="btn btn-success">&gt;</button></span> 
      </div>
    </div>
  </div>
</div>

<强> CSS

#box-wrap {
    position: relative;
    width:100%;

}

#box-1 {
    width:100%;
    height:120px;
    top: 0;
    left: 0;
    background:khaki;
}
#box-2, 
#box-3 {
  background:khaki;
}

<强> DEMO

更新(Thx @ckuijjer)

感谢@ckuijjer的评论。这是完成同样事情的 他的 更简单的版本:

简化HTML

<div class="container">
  <div class="row">  
    <div class="well"> 
      <div id="box-1"></div>
      <button class="btn btn-success">&lt;</button>
      <button class="btn btn-success">&gt;</button>
    </div>
  </div>
</div>

简化CSS

#box-1 {
    height:120px;
    background:khaki;
}

<强> Simplified DEMO

答案 1 :(得分:0)

只需将您的CSS改为

即可
#box-2 {
    position: absolute;
    top: 45px;
    float:right;
    right: 5px;
}

<强> Working Demo

答案 2 :(得分:0)

使用  #box-1{ position:relative; }

将解决问题。 我认为,由于box-1的父元素都没有固定高度,因此以某种方式影响使用position:absolute作为子div。