为什么绝对元素相互叠加而不是一个接一个地堆叠?

为什么绝对元素相互叠加而不是一个接一个地堆叠?

怎样才能既#row1#row2在下面的代码是可见的,一前一后垂直,仿佛根本没有什么absolute/relative定位参与?

<body>
  <div class="container">
    <div id="row1" class="row">
      <div class="col1">Hello</div>
      <div class="col2">World</div>
    </div>
    <div id="row2" class="row">
      <div class="col1">Salut</div>
      <div class="col2">le monde</div>
    </div>
  </div>

body {position:relative;}.container {position:absolute;}.row {position:relative;}.col1, .col2 {position: absolute;}

http://jsfiddle.net/wjrNQ/

更新

由于此处排除的原因,我需要在CSS规则中提供定位的元素。所以我的问题是,如果不删除上面的CSS就可以实现我正在寻找的东西吗?.row div即将两者视为“正常” block元素。

更新2

如果指定了足够的高度px,则结果具有预期的外观。但内容是programmitacacally动态所以我不知道事先的高度:(


慕容3067478
浏览 542回答 3
3回答

泛舟湖上清波郎朗

如果不修改CSS&nbsp;position属性,则无法实现。但是,如果不触及现有的CSS,您可以使用更具体的选择器覆盖它.row&nbsp;.col1,&nbsp;.row&nbsp;.col2&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;position:&nbsp;relative;}见JSFiddle
打开App,查看更多内容
随时随地看视频慕课网APP