使用CSS在div底部对齐按钮


105

我想将按钮对准div的右下角。我怎样才能做到这一点?

在此处输入图片说明

当前div的CSS:

    float: right;
    width: 83%;
    margin-right: 0px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    height:625px;
    overflow:auto;

Answers:


223

您可以用来position:absolute;将元素绝对定位在父div中。使用position:absolute;该元素时,其位置将绝对位于第一个定位的父div处,如果找不到该元素,则该元素将绝对位于窗口中,因此您需要确保content div的位置。

为了使内容div定位,所有position非静态的值都可以使用,但是relative最简单,因为它不会自行更改div的位置。

因此,将其添加position:relative;到内容div中,从按钮中删除浮点数,然后将以下css添加至按钮:

position: absolute;
right:    0;
bottom:   0;

1
@哈里·乔伊(Harry Joy):您是否还适用position: relative于包含表单+按钮的元素?
2011年

1
@Harry Joy:那应该是相对于那个div,而不是页面。如果页脚也包含在此中div,也许它们似乎是同一回事。如果您知道页脚的高度,则可以在按钮上使用bottom: HEIGHT_OF_FOOTERpx
2011年

1
@哈里·乔伊:那么这里太混乱了。您应该将HTML / CSS作为jsFiddle测试用例发布
2011年

1
@thirtydot:起作用了。谢谢 位置错误:相对。在错误的div中添加了它。
哈里·乔伊

3
真的,我只需要发表评论,并指出我找到该解决方案的高兴程度。多年来一直困扰着我!
K. Kilian Lindberg

31

CSS3 flexbox也可以用于在父元素底部对齐按钮。

所需的HTML:

<div class="container">
  <div class="btn-holder">
    <button type="button">Click</button>
  </div>
</div>

必要的CSS:

.container {
  justify-content: space-between;
  flex-direction: column;
  height: 100vh;
  display: flex;
}
.container .btn-holder {
  justify-content: flex-end;
  display: flex;
}

屏幕截图:

输出图像

有用的资源:


12

父容器必须具有以下内容:

position: relative;

Button本身必须具有以下功能:

position: relative;
bottom: 20px;
right: 20px;

或任何你喜欢的


6
请注意,这个问题是3年前提出的,并且已经得到了答案。
Itay Gal 2014年

请注意,此答案不正确。带有position:relative按钮的按钮将从其原始位置移开,而不是基于父按钮。
Kokos

1
您需要position: absolute从右下角开始使用它。
CaptainBli

-26

向右移动,可以向左使用相同的方式

.yourComponent
{
   float: right;
   bottom: 0;
}

3
这只会使您的按钮向右对齐。不是右下角。
鲁本
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.