如何让div粘在父div的底部?

m1k*_*3y3 48 html css

任何人都可以请我帮助我div#bottom坚持父母的底部div,所以当我点击里面的按钮它将允许我从div#list上面显示元素?

我希望避免使用JS,jQuery等,或者至少在布局中:

<div class="wrapper">
   <div id="top">
     <ul>
      ...
      ...
     </ul>
   </div>
   <div class="bottom">
      <div id="button">
         <div id="list">
            <ul>
               <li>elem 1</li>
               <li>elem 2</li>
            </ul>
         </div>
      </div>
   </div>
</div>
Run Code Online (Sandbox Code Playgroud)

Val*_*Val 114

.wrapper{position:relative;}
.bottom{position:absolute; bottom:0;}
Run Code Online (Sandbox Code Playgroud)

编辑

感谢@ centr0和@TJ克劳德关键的还是要在这里明白的是,position:relative.wrapper将"含有"有任何元素position:absolute.这就像宣布边界一样.bottom.如果没有position:relative.wrapper,.bottom会爆发的那div

  • +1,但你可能想*解释*为什么它有效,也许引用一两个参考?提及含义(例如,如果它们落到那么远,其他元素将重叠),等等. (8认同)
  • 我不这样做是为了生活哈哈:)我只是尝试n回馈一些东西,所以当我需要帮助时,我不会感到内疚:)但我确定`谷歌的位置相对`在谷歌可以解释它更好:) http:// www.w3schools.com/css/css_positioning.asp或本页 (7认同)

Mar*_*bec 10

我遇到了类似的问题.Val的解决方案很好,但有一个问题 - 内部div会坚持到底部,但由于它的"位置:绝对",它不会影响parrent div的高度.(它超出了页面布局流程).

所以这是我为任何有类似问题的人提供的扩展解决方案:

.wrapper {
    position: relative;
    padding-bottom: 50px;
}

.wrapper .bottom {
    position: absolute;
    bottom: 0px;
    height: 50px;
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我设置了包装器的.bottom ang padding-bottom的高度.缺点是,页脚的高度在两个地方.但我认为这对于产品列表来说是一个很好的解决方案,其中盒子的页脚有固定的高度(比如价格等).

请记住,每次设置"position:absolute;"时,元素将绝对定位于第一个父div,它设置了position属性.或者,最后,反对页面本身.