【问题标题】:Align the top of the footers bootstrap card deck对齐页脚引导卡片组的顶部
【发布时间】:2020-10-02 00:06:29
【问题描述】:

我正在使用 bootstrap 4 来显示卡片。一切都按预期工作。我遇到的问题是,如果其中一个页脚的内容比其他页脚多,则会提高页脚以适应这一点。有没有办法让页脚向下推动内容并保持顶部对齐?

演示:http://jsfiddle.net/6uv9a30n/1/

<div class="container">
  <div class="card-deck">
    <div class="card mb-4">
      <div class="card-body">
        <h4 class="card-title">1 Card title</h4>
        <p class="card-text">This is a longer card with supporting text below as a natural lead-in to additional content lead-in to additional content. This content is a little bit longer.</p>
      </div>
      <div class="card-footer">
        <small class="text-muted">Last updated 3 mins ago</small>
      </div>
    </div>
 </div>
</div>

电流输出:

期望的输出:

【问题讨论】:

  • 如果您不动态放置这些数据,那么您可以将页脚预设为在小文本部分共享的固定高度
  • @eric 感谢您的建议,但内容是动态生成的
  • 您找到可行的解决方案了吗?如果不是我的方法是使用 overflow: scroll; 属性使小文本部分可滚动。当一张卡片的数据增加太多时,这也可以防止卡片看起来有太多的空白。
  • 不使用定义的页脚高度。 Flexbox 子节点不知道彼此的内容。 stackoverflow.com/questions/55272962/…

标签: html css bootstrap-4 flexbox bootstrap-cards


【解决方案1】:

这听起来很便宜,但您可以使用另一个具有css 属性transparent 颜色的small HTML 标记,这样无论您添加多少文本,它都会始终保持在顶部。

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">



<div class="container">
  <div class="card-deck">
    <div class="card mb-4">
      <div class="card-body">
        <h4 class="card-title">1 Card title</h4>
        <p class="card-text">This is a longer card with supporting text below as a natural lead-in to additional content lead-in to additional content. This content is a little bit longer.</p>
      </div>
      <div class="card-footer">
        <small class="text-muted">Last updated 3 mins ago</small>
        <small style="color: transparent;">Text not going to show</small>
      </div>
    </div>
    <div class="card mb-4">
      <div class="card-body">
        <h4 class="card-title">1 Card title</h4>
        <p class="card-text">This is a longer card with supporting text below as a natural lead-in to additional content lead-in to additional content. This content is a little bit longer.</p>
      </div>
      <div class="card-footer">
        <small class="text-muted">Last updated 3 mins ago Last updated 3 mins ago</small>

      </div>
    </div>
    <div class="card mb-4">
      <div class="card-body">
        <h4 class="card-title">1 Card title</h4>
        <p class="card-text">This is a longer card with supporting text below as a natural lead-in to additional content lead-in to additional content. This content is a little bit longer.</p>
      </div>
      <div class="card-footer">
        <small class="text-muted">Last updated 3 mins ago</small>
        <small style="color: transparent;">Text not going to show</small>
      </div>
    </div>
  </div>
</div>

【讨论】:

  • 谢谢,唯一的问题是它适用于所有卡片。会有多行,所以我只想影响那一行。
【解决方案2】:

您可以使用card-bodycard-footer 上的flex CSS 属性来实现。

body {
  margin: 10px;
}

/* Customize Bootstrap card */
.card-deck .card-body { 
  flex: 0 0 auto;
}

/* fix footer height */
.card-footer { 
  flex: 1;
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" >

<div class="container">
  <div class="card-deck">
    <div class="card mb-4">
      <div class="card-body">
        <h4 class="card-title">1 Card title</h4>
        <p class="card-text">This is a longer card with supporting text below as a natural lead-in to additional content lead-in to additional content. This content is a little bit longer.</p>
      </div>
      <div class="card-footer equal">
        <small class="text-muted">Last updated 3 mins ago</small>
      </div>
    </div>
    <div class="card mb-4">
      <div class="card-body">
        <h4 class="card-title">1 Card title</h4>
        <p class="card-text">This is a longer card with supporting text below as a natural lead-in to additional content lead-in to additional content. This content is a little bit longer.</p>
      </div>
      <div class="card-footer">
        <small class="text-muted">Last updated 3 mins ago Last updated 3 mins ago</small>
      </div>
    </div>
    <div class="card mb-4">
      <div class="card-body">
        <h4 class="card-title">1 Card title</h4>
        <p class="card-text">This is a longer card with supporting text below as a natural lead-in to additional content lead-in to additional content. This content is a little bit longer.</p>
      </div>
      <div class="card-footer">
        <small class="text-muted">Last updated 3 mins ago</small>
      </div>
    </div>
  </div>
</div>

【讨论】:

  • 谢谢,我真的希望这能修复它,因为它看起来很接近。问题是当卡体内容不同时它们不会对齐jsfiddle.net/ae9hp8ok
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-09-10
  • 2023-03-05
  • 1970-01-01
  • 2021-08-29
  • 2019-03-09
  • 1970-01-01
  • 2020-05-28
相关资源
最近更新 更多