-3

私はブートストラップ4列/カード内この効果を達成したいの成長しますか?私は以下のソリューションについて考えていたは反対方向にフレキシボックスの子供

https://jsfiddle.net/dandaka/us04p2vg/

<div class="container"> 
    <div class="row"> 
    <div class="col"> 
     <div class="img-top"><img src="https://placehold.it/350x100" alt="" class="img-fluid"></div> 
     <div class="text-bottom">Lorem ipsum</div> 
    </div> 
    <div class="col"> 
     <div class="img-top"><img src="https://placehold.it/350x50" alt="" class="img-fluid"></div> 
     <div class="text-bottom">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt</div> 
    </div> 
    <div class="col"> 
     <div class="img-top"><img src="https://placehold.it/350x250" alt="" class="img-fluid"></div> 
     <div class="text-bottom">Lorem ipsum dolor sit amet</div> 
    </div> 
    </div> 
</div> 

  • は、画像とテキストのために複数の行を使用し

    これは私がと遊ぶ私のソースコードです。小さいブレークポイントで積み重ねるときにうまくいく。そして、カード全体がホバー状態になっていなければなりません。これは2行で壊れたときにうまくいくでしょう。

  • ブートストラップカードを使用してください。彼らは固定された高さの画像でのみ動作するようです。
  • フレックスボックスのベースラインアライメントを使用します。 2つの要素が1つの軸から異なる方向に成長する例は見つかりません。
  • テキストブロックの高さをピクセルで固定します。まったく解決策ではなく、単なる回避策です。

何も考えられません。

+0

@ZimSystem私は、正直言ってどこから始めるべきかわかりません。私は開始または終了に合わせることができます。しかし、それは何も解決しません。私はサンプルコードでJSFiddleを追加しました。 – dandaka

+0

@ZimSystem B4カードは、私の場合には関係のない、固定された高さの画像で動作するようです。イメージのサイズが異なると、レイアウトが壊れます。すべてのフレックスボックスアラインメントの例では、私の仕事の近くに何も表示されません。 – dandaka

答えて

0

1つの方法は、上部画像と下部テキストに%高さを設定することです。その後..それがBS4に含まれているので、私は50/50を使用していますが、トップ/ボトムの割合をカスタマイズすることができ

<div class="row align-items-baseline"> 
    <div class="col"> 
     <div class="img-top d-flex h-50"><img src="https://placehold.it/350x100" alt="" class="align-self-end img-fluid"></div> 
     <div class="text-bottom p-3 h-50">Lorem ipsum her eis some more text</div> 
    </div> 
    <div class="col"> 
     <div class="img-top d-flex h-50"><img src="https://placehold.it/350x50" alt="" class="align-self-end img-fluid"></div> 
     <div class="text-bottom p-3 h-50">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt</div> 
    </div> 
    <div class="col"> 
     <div class="img-top d-flex h-50"><img src="https://placehold.it/350x250" alt="" class="align-self-end img-fluid"></div> 
     <div class="text-bottom p-3 h-50">Lorem ipsum dolor sit amet</div> 
    </div> 
</div> 

http://www.codeply.com/go/vc8Mk2Rjm0

..応じてアイテムを揃えるために

.h-40 { 
    height: 40%; 
} 
.h-60 { 
    height: 60%; 
} 
をフレキシボックスを使用します

http://www.codeply.com/go/whe449Ixtx

+0

このように別の行を追加すると、すべてが乱されます。https://jsfiddle.net/dandaka/9oaaxgzs/1/ – dandaka

+0

質問には実際に言及されていないので、おそらくこの解決策を調整する必要があります。おそらく、各行に最小の高さを設定します。 – ZimSystem

+0

min-heightはこの目的を殺します。最初の場所で高さを指定できるのはなぜmin-heightを設定するのですか?目標は、行全体を同じ高さに保ちながら、柔軟な高さのオブジェクトを持つことです。そして1つの軸に揃えられます。 – dandaka

関連する問題