2017-04-17 16 views
0

フレックスボックスを使用して私のウェブサイト用に3列のレイアウトを作成したいと思います。3列の応答レイアウトがフレックスオーダーを尊重していません

しかし、私の 'commentCaMarche' divはフレックス注文に従っていないようですが、 'details-index'カラムの一番上にあります。あなたはこの問題を解決する方法を知っていますか?ここで

#credits { 
 
    font-family: 'Roboto Condensed', sans-serif; 
 
    color: #FFFFFF; 
 
    height: 100vh; 
 
    background-color: #FB3D00; 
 
    margin-bottom: 0; 
 
} 
 

 
#columns { 
 
    display: flex; 
 
    flex-direction: row; 
 
    flex-wrap: wrap; 
 
    justify-content: space-between; 
 
} 
 

 
#details-index { 
 
    font-size: 1.6vmin; 
 
    text-align: center; 
 
    flex: 1; 
 
    order: 1; 
 
    display: flex; /*Note : Each of my columns is also a flex container for other contents I omitted*/ 
 
    flex-direction: column; 
 
    justify-content: space-around; 
 
} 
 

 
(...) 
 

 
#commentCaMarche { 
 
    font-size: 2vmin; 
 
    text-align: center; 
 
    flex: 1; 
 
    order: 2; 
 
    display: flex; 
 
    flex-direction: column; 
 
    justify-content: space-around; 
 
} 
 

 
(...) 
 

 
#sources { 
 
    font-size: 1.4vmin; 
 
    text-align: center; 
 
    flex: 1; 
 
    order: 3; 
 
    display: flex; 
 
    flex-direction: column; 
 
    justify-content: space-around; 
 
}
<div id='credits'> 
 
    <div id='columns'> 
 
     <div id='commentCaMarche'> 
 
      <h2>Comment ça marche</h2> (...) 
 
     </div> 
 
     <div id='details-index'> 
 
      <h2>Le détail</h2> (...) 
 
     </div> 
 
     <div id='sources'> 
 
      <h2>Sources des données</h2> (...) 
 
     </div> 
 
    </div> 
 
</div>

+0

でそれらを交換だからここで 'commentCaMarche'はすべきですか?ありませんか...それは 'order 'を参照している場合、正確にあなたがそれを言ったかのように見える – LGSon

+0

ところで、あなたのCSSに'(...)を含めて、あなたが持っていることを示すために(そして、そこに他のスタイル。スタイルがあなたの問題に関連している場合、それらはMCVEになければなりません。彼らが無関係であれば、それらに言及する必要はありません。 – TylerH

+0

あなたの質問を解決する答えがあればそれを受け入れるか、何が欠けているかを私たちに知らせることができれば幸いです。 – LGSon

答えて

0

それが応答あなたはあなたのフレックスの列の順序プロパティを変更する必要がある3列

#columns{width:100%; float:left;} 
#commentCaMarche{width:33.33%; float:left} 
#details-index{width:33.33%; float:left} 
#sources{width:33.33%; float:left} 
+0

それと同じくらい簡単ですか?ありがとう、それは完全に動作します! –

+2

@TomFévrierまあ、それは 'フレックスボックス'ではなく、浮動小数点では機能しない等高さなどを達成しようとすると、あなたは失望します...そして浮動小数点数はレイアウトを行うには本当に悪い方法です – LGSon

0

を作るためのCSSです。 JSfiddle

#details-index { 
    font-size: 1.6vmin; 
    text-align: center; 
    flex: 1; 
    order: 2; 
    display: flex; /*Note : Each of my columns is also a flex container for other contents I omitted*/ 
    flex-direction: column; 
    justify-content: space-around; 
} 

#commentCaMarche { 
    font-size: 2vmin; 
    text-align: center; 
    flex: 1; 
    order: 1; 
    display: flex; 
    flex-direction: column; 
    justify-content: space-around; 
} 
0

flex-wrap: wrapcolumnsルールからそれを削除することによって、あなたが任意の幅で3つの適切な列を持っていますので、彼らは、可能な幅に合わせていないとき、あなたの列がラインを破るようになります。

またフレックスアイテムからorderを一時的に削除したため、マークアップと同じ順序で表示されますが、サンプルのように変更する必要がある場合は、追加してください単にマークアップ

#credits { 
 
    font-family: 'Roboto Condensed', sans-serif; 
 
    color: #FFFFFF; 
 
    height: 100vh; 
 
    background-color: #FB3D00; 
 
    margin-bottom: 0; 
 
} 
 

 
#columns { 
 
    display: flex; 
 
    justify-content: space-between; 
 
} 
 

 
#details-index { 
 
    font-size: 1.6vmin; 
 
    text-align: center; 
 
    flex: 1; 
 
    display: flex; 
 
    flex-direction: column; 
 
    justify-content: space-around; 
 
} 
 

 
#commentCaMarche { 
 
    font-size: 2vmin; 
 
    text-align: center; 
 
    flex: 1; 
 
    display: flex; 
 
    flex-direction: column; 
 
    justify-content: space-around; 
 
} 
 

 
#sources { 
 
    font-size: 1.4vmin; 
 
    text-align: center; 
 
    flex: 1; 
 
    display: flex; 
 
    flex-direction: column; 
 
    justify-content: space-around; 
 
}
<div id='credits'> 
 
    <div id='columns'> 
 
    <div id='commentCaMarche'> 
 
     <h2>Comment ça marche</h2> 
 
     (...) 
 
    </div> 
 
    <div id='details-index'> 
 
     <h2>Le détail</h2> 
 
     (...) 
 
    </div> 
 
    <div id='sources'> 
 
     <h2>Sources des données</h2> 
 
     (...) 
 
    </div> 
 
    </div> 
 
</div>

関連する問題