Bootstrap -将按钮与卡底部对齐

mo49yndu  于 2022-12-08  发布在  Bootstrap
关注(0)|答案(9)|浏览(317)

我在看一个使用card-deckcard类(Pricing example)的Bootstrap示例,我想知道如果其中一个列表的项比其他列表少,如何修复按钮对齐。

我希望所有的按钮都垂直对齐(在每张卡片的底部),但我找不到这样做的方法。我尝试设置.align-bottom类,并将按钮 Package 在<div class="align-text-bottom">中。我也尝试了this question about adding space的几个建议,但仍然没有成功(间距也应该是可变的,这样它就可以填充列表中的剩余空间)。
<div class="card-footer bg-white">中换行也没有产生预期的结果,因为它没有对齐卡片底部的按钮,并且在它周围创建了某种边框。
有人有什么想法吗?

**编辑:**这里有一个类似于该问题的jsfiddle

agxfikkp

agxfikkp1#

可以使用以下Bootstrap 4修饰符类:
1.将d-flex加到.card-body
1.将flex-column加到.card-body
1.将mt-auto添加到嵌套在.card-body中的.btn
fiddle
有关Bootstrap 4的flexbox修改类的完整列表,请参考this page

5sxhfpxr

5sxhfpxr2#

类似的问题还有answered here
只需将align-self-end类添加到item中,以在底部对齐。
https://www.codeply.com/go/Fiorqv1Iz6

<div class="card-body d-flex flex-column">
            <h1 class="card-title pricing-card-title">$15 <small class="text-muted">/ mo</small></h1>
            <ul class="list-unstyled mt-3 mb-4">
              <li>20 users included</li>
              <li>10 GB of storage</li>
            </ul>
            <button type="button" class="align-self-end btn btn-lg btn-block btn-primary" style="margin-top: auto;">Get started</button>
     </div>

默认情况下,card是display:flex,但card-body不是。因此,您需要将d-flex flex-column添加到card-body。这将使flexbox对齐类工作。
另一个选择是使用mt-auto(自动顶部边距)的按钮,这将推动它到卡的底部。

31moq8wy

31moq8wy3#

.card-body div设置为display:flexflex-direction:column .
然后给予按钮margin-top:auto
我想有引导帮助类。
第一个

lc8prwob

lc8prwob4#

使用页脚,它已经为您设置了所有内容。

<div class="card-deck">
<div class="card">
   <div class="card-body">
      <h4 class="card-title">Title goes here</h4>
      <p class="card-text">Ut leo enim, fermentum fermentum tempor sit amet, vehicula in felis. Pellentesque a arcu augue. Nam eu malesuada lorem. Curabitur et molestie lacus.</p>
   </div>
   <div class="card-footer text-muted mx-auto">
      <button type="button" class="btn btn-sm btn-outline-secondary">Click me!</button>
   </div>
</div>

然后,您可以选择性地设定card-footer项目的样式。

.card-footer {
  background: transparent;
  border-top: 0px;
}

演示:https://jsfiddle.net/rustynox/203zwyq6/

7fhtutme

7fhtutme5#

在卡片中添加页脚

您可以为每张卡片设置页脚,如下所示:

<div class="card-footer">
   <button type="button" class="btn btn-primary btn-sm btn-block" onclick="location.href = '';">BUY NOW </button>
</div>
yhuiod9q

yhuiod9q6#

用包含类的div标签将卡片中的按钮括起来,并使用mt-auto

<div class="d-flex flex-row justify-content-center mt-auto">
<a href="#" target="_blank" target="_blank" type="button" class="btn btn-primary mr-3">GitHub</a>     
</div>
x759pob2

x759pob27#

Flex是您的朋友

类似这样的东西会产生魔力:
第一个

7kqas0il

7kqas0il8#

示例为(d-flex伸缩柱)

<div class="col-md-6 col-lg-6 col-sm-6 col-xl-4" style="float:right">

            <div class="bg-white d-flex flex-column" style="width:100%;height:530px;border:1px solid #808080;border-radius:10px;padding:15px;float:right;margin:10px;">
                <div class="card-body">
                    <h5 class="card-title" style="padding:0px 0px 20px 0px;text-align:center;border-bottom:1px dashed #000000">@item.SiteName</h5>
                    <button type="button" class="btn btn-primary" style="margin:10px;width:94%">آدرس سایت : @item.SiteUrl</button>
                    <button type="button" class="btn btn-secondary" style="margin:10px;width:94%">رتبه الکسا : @item.SiteAlexa</button>
                    <button type="button" class="btn btn-success" style="margin:10px;width:94%">اتوریتی : @item.MozAutoraty</button>
                    <button type="button" class="btn btn-danger" style="margin:10px;width:94%">لینک : @item.LinkToYou</button>
                    <button type="button" class="btn btn-warning" style="margin:10px;width:94%">اسپم اسکور : @item.SpamScore</button>
                    <button type="button" class="btn btn-info" style="margin:10px;width:94%">قیمت : @item.Price</button>
                </div>
                <a href="/Home/About/@item.SiteId" class="btn btn-primary btn-lg btn-block">توضیحات رسانه</a>
            </div>
        </div>
ctzwtxfj

ctzwtxfj9#

这个问题主要是卡片的文字不均匀造成的,所以我找了两个小时,最好的答案就是在文字比较少的卡片上加上这一行:

<p class="invisible" > invisible</p>

我知道这不是解决问题的好方法,但这是我发现的最简单的方法。

相关问题