私は現在、<table>
レイアウトを使用して古いページを離れて変換しており、フレックスボックスを使用して動作を実装しようとしています。目指すのは、3つの列を持つことです。最初の2つは水平と垂直の中央に配置され、最後の列には多くのテキストが含まれています。フレックスボックス:3列2 + 1に
私は次のようにブラウザの幅が小さい場合には最初の二つの下に3番目の列をラップするメディアクエリを使用しようとしています:
以下のコードスニペットは、正しいレイアウトを実現しますが、明らかに小さな幅に失敗し、ちょうど単一の列を生成:私はこれを推測してい
を何とかflex-wrap
を必要ですか?
複数の行が1つのコンテナ行で可能ですか?または、行ごとに1つのコンテナを持つのが最善でしょうか?
.row {
display: flex;
justify-content: center;
padding: 5px;
margin: 2px;
border: 1px solid #000;
font-size: 0.7em;
}
.col1, .col2, .col3 {
background-color: #999;
padding: 8px;
margin: 2px;
}
.col1, .col2 {
flex: 1;
/* Horizontal centring */
text-align: center;
/* Add vertical centring */
display: flex;
flex-direction: column;
justify-content:center;
}
.col3 {
flex: 3;
background-color:#fff;
}
@media(max-width: 400px){
.row {display: block;}
}
<div class="row">
<div class="col1">
Column 1
</div>
<div class="col2">
Column 2
</div>
<div class="col3">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse suscipit tortor vel orci pulvinar, eu euismod sem maximus. Mauris tempus sem eget massa tristique, ut maximus tortor volutpat. In efficitur.
</div>
</div>
<div class="row">
<div class="col1">
Column 1
</div>
<div class="col2">
Column 2
</div>
<div class="col3">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse suscipit tortor vel orci pulvinar, eu euismod sem maximus. Mauris tempus sem eget massa tristique, ut maximus tortor volutpat. In efficitur.
</div>
</div>
、おかげで補うフレックスは、成長します。 1つの '.row'しか持たないようにすることもできますか?あるいは、私はいつも1行に1つ必要ですか? –
@ MartinEvans - 私はあなたの質問をしない。 1つの列を意味しますか? – allnodcoms
私はそれぞれ約3行3列の20行を持っています。 flexboxがちょうど1つのコンテナを持ち、視覚的に同じように見えるように調整できるかどうか疑問に思っていましたか? –