フレックスコンテナの内側に、CSSプロパティ-webkit-flex-flow: row wrap;
とjustify-content: space-around;
を使用して中央に配置された2つの要素の行があります。この行の上には、行内の最も左のdivと垂直に配置されたテキストを持つdivがあります。フレックスと整列している別の要素と要素を整列する方法は?
要素がdisplay: flex;
のプロパティを保持するという要件でCSSのみを使用してこれを行うことはできますか?
は、ここに私のhtmlです:
<div class="flex-container">
<div class="info-box">
</div>
<div class="type-one">
</div>
<div class="type-one">
</div>
</div>
、ここでCSSです:
.flex-container {
padding: 0;
margin: 0;
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-flex-flow: row wrap;
justify-content: space-around;
}
.type-one{
width: 45%;
height: 50px;
background: tomato;
text-align: left;
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-flex-flow: row wrap;
justify-content: flex-start;
}
.info-box{
width: 100%;
height: 10px;
background: tomato;
margin-bottom: 3px;
}
Hereはフィドル例です。一番上の行が(flex-startアラインメントを持っているので)左からどのように始まっているのかを見ることができますが、2行目の一番左の要素が始まる位置から開始します。これは所定の要件で可能ですか?
編集:インフォボックスに2.5%の余白を追加するか、幅を95%にすることができることに気付きましたが、タイプ1の要素に相対的な解決策が望ましいので、それらの幅を変更すると、情報ボックスは自動的に再調整されます。
? https://jsfiddle.net/sqmcaqLv/3/ –
はい。私は、スペースの何%が残されているのか分かり、それを使って幅やマージンを設定することができたことに気付きました。私はハードコードされていないソリューションを好むが、2行目の要素の幅を変更すると、情報ボックスの余白を手動で変更する必要があるためです。ハードコードされたマージンではなく、2番目の行に相対的なものがありますか? – user3494047
他のdiv(45%x2 + 5%の間隔= 95%幅)の幅を基準にする必要がありますhttps://jsfiddle.net/sqmcaqLv/5/ – pol