gpt4 book ai didi

html - 使用 flexbox 将元素与底部对齐

转载 作者:IT老高 更新时间:2023-10-28 11:01:39 25 4
gpt4 key购买 nike

我有一个 div 和一些 child :

<div class="content">
<h1>heading 1</h1>
<h2>heading 2</h2>
<p>Some more or less text</p>
<a href="/" class="button">Click me</a>
</div>

我想要以下布局:

 -------------------
|heading 1 |
|heading 2 |
|paragraph text |
|can have many |
|rows |
| |
| |
| |
|link-button |
-------------------

无论 p 中有多少文本,我都希望将 .button 始终粘贴在底部而不将其从流程中取出。我听说这可以通过 Flexbox 实现,但我无法让它发挥作用。

最佳答案

您可以使用 auto margins

Prior to alignment via justify-content and align-self, any positive free space is distributed to auto margins in that dimension.

因此您可以使用其中一种(或两种):

p { margin-bottom: auto; } /* Push following elements to the bottom */
a { margin-top: auto; } /* Push it and following elements to the bottom */

.content {
height: 200px;
border: 1px solid;
display: flex;
flex-direction: column;
}
h1, h2 {
margin: 0;
}
a {
margin-top: auto;
}
<div class="content">
<h1>heading 1</h1>
<h2>heading 2</h2>
<p>Some text more or less</p>
<a href="/" class="button">Click me</a>
</div>

或者,您可以使 a 之前的元素增长以填充可用空间:

p { flex-grow: 1; } /* Grow to fill available space */

.content {
height: 200px;
border: 1px solid;
display: flex;
flex-direction: column;
}
h1, h2 {
margin: 0;
}
p {
flex-grow: 1;
}
<div class="content">
<h1>heading 1</h1>
<h2>heading 2</h2>
<p>Some text more or less</p>
<a href="/" class="button">Click me</a>
</div>

关于html - 使用 flexbox 将元素与底部对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31000885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com