提问者:小点点

将div与容器底部对齐


我使用的是CSS框架,我试图在页面的底部添加一个div。 我试过使用位置:绝对; 容器内的bottom:0;具有相对位置,但div仅与页面的右侧对齐。

null

.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>

null

这可能吗,拜托?


共3个答案

匿名用户

将底部文本元素从容器父元素中取出,并将其作为页面元素的子元素放置,然后position:absolute将起作用:

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;
}

匿名用户

位置:绝对; bottom:0;是正确的,但您还需要确保直接父级.container是页面的高度,然后用display:flex:

null

.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>

匿名用户

我不确定这是否是您想要的,但我通过将容器显示为Flex实现了这一点。

null

.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>