简体   繁体   English

将 div 对齐到容器的底部

[英]Align div to the bottom of a container

I am using the skeleton CSS and I'm trying to get a div to be at the bottom of the page.我正在使用骨架CSS 并且我试图让一个div位于页面底部。 I have tried using position: absolute; bottom: 0;我试过使用position: absolute; bottom: 0; position: absolute; bottom: 0; within the container has a relative position, but the div just aligns to the right-hand side of the page.容器内有一个相对的 position,但div仅与页面的右侧对齐。

 .page { align-items: center; background-position: center; background-repeat: no-repeat; background-size: cover; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; min-height: 100vh; } #home { background: red; }
 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/skeleton/2.0.4/skeleton.min.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/4.1.1/normalize.min.css"> <div class="page" id="home"> <div class="container" style="text-align: center;"> <div class="row"> I am a title in the middle of the page. </div> <div class="row" style=""> I want to be at the bottom of the page. <br> <a href="#">Click here!</a> </div> </div> </div>

Is this possible, please?请问这样可以吗?

Take the Bottom text element out of the CONTAINER parent and place it as a child of the PAGE element, then position:absolute will work:从 CONTAINER 父元素中取出底部文本元素并将其作为 PAGE 元素的子元素,然后 position:absolute 将起作用:

https://jsfiddle.net/akLr6zb0/ https://jsfiddle.net/akLr6zb0/

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/skeleton/2.0.4/skeleton.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/4.1.1/normalize.min.css">

<div class="page" id="home">
  <div class="container" style="text-align: center;">
    <div class="row">
      I am a title in the middle of the page.
    </div>
  </div>
  <div class="bottom" style="">
    I want to be at the bottom of the page.
    <br>
    <a href="#">Click here!</a>
  </div>  
</div>

.page {
  align-items: center;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;  
  justify-content: center;
  min-height: 100vh;
  position: relative;
}

#home {
  background: red;
}

.bottom {
  bottom: 0;
  display: block;
  position: absolute;
}

position: absolute; bottom: 0; is right, but you also need to make sure the direct parent .container is the height of the page, and then center everything with display: flex :是对的,但您还需要确保直接父.container是页面的高度,然后使用display: flex将所有内容居中:

 .page { min-height: 100vh; }.container { display: flex; justify-content: center; align-items: center; height: 100vh; } #home { background: red; }
 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/skeleton/2.0.4/skeleton.min.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/4.1.1/normalize.min.css"> <div class="page" id="home"> <div class="container" style="text-align: center;"> <div class="row"> I am a title in the middle of the page. </div> <div class="row" style="position: absolute; bottom: 0;"> I want to be at the bottom of the page. <br> <a href="#">Click here!</a> </div> </div> </div>

I am not sure if it's what you want but I achieve that with displaying the container as flex.我不确定这是否是您想要的,但我通过将容器显示为 flex 来实现。

 .page { align-items: center; background-position: center; background-repeat: no-repeat; background-size: cover; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: center; min-height: 100vh; } #home { background: red; }.container { flex-grow: 1; display: flex; align-items: center; justify-content: center; }.bottom { position: absolute; bottom: 0; }
 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/skeleton/2.0.4/skeleton.min.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/4.1.1/normalize.min.css"> <div class="page" id="home"> <div class="container"> <div class="row"> I am a title in the middle of the page. </div> <div class="row bottom" style=""> I want to be at the bottom of the page. <br> <a href="#">Click here!</a> </div> </div> </div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM