2017-09-29 7 views
1

私はフレックスアイテム.itemflex-direction: columnを持っており、それぞれの子供アイテム(.item__title.item__description)に最高のものに応じて等しい垂直スペースを取らせたいと思います。次のアイテムは同じ新しい行から始まります。私は、次のコードをしようとして」:列方向のすべてのフレックスアイテムで均等に高さを伸ばす方法は?

<article class="items"> 
<section class="item"> 
    <h2 class="item__title">Lorem ipsum dolor sit amet</h2> 
    <p class="item__description">Lorem ipsum dolor sit amet.</p> 
    <a class="item__more-button">See more</a> 
</section> 
<section class="item"> 
    <h2 class="item__title">Lorem ipsum dolor sit amet</h2> 
    <p class="item__description">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor 
     incididunt ut labore et dolore magna aliqua.</p> 
    <a class="item__more-button">See more</a> 
</section> 
<section class="item"> 
    <h2 class="item__title">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor 
     incididunt</h2> 
    <p class="item__description">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor 
     incididunt ut labore et dolore magna aliqua.</p> 
    <a class="item__more-button">See more</a> 
</section> 
</article> 


    .items { 
    display: flex; 
    } 

    .item { 
    margin: 0 15px; 
    width: calc((100% - 2 * 15px)/3); 
    text-align: center; 
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    } 



    .item__title { 
     flex: 1; 
    } 

    .item__description { 
     flex: 1; 
    } 

しかし、私はそれがこの絵のようになりたい:

enter image description here

どのように私は、これは高さを設定せずに行うことができますか?

+0

あなたも – tech2017

+0

をCSSコードを共有できるフレキシボックスでは不可能だということ...あなたは*タイトル*または*説明* – kukkuz

+0

のために少なくとも設定高さになります@ kukkuzありがとう – user2950602

答えて

0

同じheigthを持つ親セクションのdisplay:gridgrid-auto-rows: 1frを使用して試してみて、子セクションのために100%に幅を設定することを忘れないでください。それ以外の場合は、あなたが望むものを与えることはありません。 https://jsfiddle.net/e63k17na/1/

だけ」である、サブクラスに同じロジックを適用します。私はあなたがこのような何かをしたいと考えているスクリーンショットを見た後

https://jsfiddle.net/e63k17na/

UPDATE:jsfiddleデモ作業

この場合は「アイテム」となります。 *タイトル*または*説明*高さが動的である場合

.items{ 
    display: grid; 
    grid-template-columns: repeat(3, 1fr); 
    grid-auto-rows: 1fr; 
    text-align:center; 
    } 

.item{ 
    display: grid; 
    grid-template-columns: repeat(1, 1fr); 
    grid-auto-rows: 1fr; 
} 
+0

私が望むように動かないのですが、私の質問のスクリーンショットを見てください – user2950602

+0

@ user2950602私の更新された答えを確認してください。 – hhk

1

justify-contentを追加するだけです。あなたのアイテムのクラスに、 あなたのセクションでは、すでに

.items { 
 
    display: flex; 
 
    } 
 

 
    .item { 
 
    margin: 0 15px; 
 
    width: calc((100% - 2 * 15px)/3); 
 
    text-align: center; 
 
    display: flex; 
 
    flex-direction: column; 
 
    align-items: center; 
 
    justify-content: space-between; 
 

 
} 
 
.item.__title{ 
 
flex:1; 
 
} 
 
.item.__description { 
 
     flex: 1; 
 
    }
<article class="items"> 
 
<section class="item"> 
 
    <h2 class="item__title">Lorem ipsum dolor sit amet</h2> 
 
    <p class="item__description">Lorem ipsum dolor sit amet.</p> 
 
    <a class="item__more-button">See more</a> 
 
</section> 
 
<section class="item"> 
 
    <h2 class="item__title">Lorem ipsum dolor sit amet</h2> 
 
    <p class="item__description">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor 
 
     incididunt ut labore et dolore magna aliqua.</p> 
 
    <a class="item__more-button">See more</a> 
 
</section> 
 
<section class="item"> 
 
    <h2 class="item__title">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor 
 
     incididunt</h2> 
 
    <p class="item__description">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor 
 
     incididunt ut labore et dolore magna aliqua.</p> 
 
    <a class="item__more-button">See more</a> 
 
</section> 
 
</article>

+0

それは役に立たなかった。 – user2950602

関連する問題