【问题标题】:Equals high of div-containers in cards等于卡片中 div 容器的高度
【发布时间】:2019-02-11 22:04:59
【问题描述】:

我需要制作相同高度的卡片。 我不是指他们自己的卡片,我是指卡片中的容器。

我的代码是这样的

.card-text {
  border: 1px solid lightgrey;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.2/css/bootstrap.min.css" rel="stylesheet" />
<div class="row row-eq-height">
  <div class="card-group">
    <div class="col-6">
      <div class="card">
        <div class="card-body">
          <div class="card-title"> bla bla </div>
          <div class="card-text"> bla<br><br>bla </div>
        </div>
      </div>
    </div>
    <div class="col-6">
      <div class="card">
        <div class="card-body">
          <div class="card-title"> bla bla </div>
          <div class="card-text"> bla bla </div>
        </div>
      </div>
    </div>
  </div>

有没有人解决,如何使卡片文字等高?

【问题讨论】:

  • 等高是什么意思?您的标记中有一个中断,这就是为什么它在 DOM 中分配更多空间的原因,如果您不希望它占用更多空间,请删除中断或在 CSS 中设置最大高度?
  • 没有 CSS 属性可以平衡 不共享父元素的元素之间的高度。 - 你需要 Javascript。
  • 用 CSS 设置高度可以解决问题你能更明确地说明你想要做什么吗?

标签: javascript html css bootstrap-4


【解决方案1】:

您可以为此使用 flexbox 和属性 align-items。 看到这个

.card-group {
  display: flex;
  align-items: stretch;
}
.card {
  height: 100%;
  border: 1px solid black
}

https://codepen.io/moisesnandres/pen/dqVzGE

【讨论】:

    【解决方案2】:

    .card-text {
      border: 1px solid lightgrey;
    }
    
    .card {
      height: 100%
    }
    
    .card-body {
      display: flex;
      flex-flow: column; 
    }
    
    .card-text {
      flex-grow: 1;
    }
    <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.2/css/bootstrap.min.css" rel="stylesheet" />
    <div class="row row-eq-height">
      <div class="card-group">
        <div class="col-6">
          <div class="card">
            <div class="card-body">
              <div class="card-title"> bla bla </div>
              <div class="card-text"> bla<br><br>bla </div>
            </div>
          </div>
        </div>
        <div class="col-6">
          <div class="card">
            <div class="card-body">
              <div class="card-title"> bla bla </div>
              <div class="card-text"> bla bla </div>
            </div>
          </div>
        </div>
      </div>

    【讨论】:

      【解决方案3】:

      为什么不使用 .card-deck 而不是 .card-group? 喜欢:http://getbootstrap.com/docs/4.1/components/card/#card-decks 它是为拥有不同的卡片而制作的,所有卡片都具有相同的高度。 他们还将扩展周围的 .row 元素。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-03
      • 2016-02-23
      • 1970-01-01
      • 2021-08-10
      • 1970-01-01
      • 1970-01-01
      • 2020-09-25
      • 1970-01-01
      相关资源
      最近更新 更多