私は常にランダムな要素数を持つコンテナを持っています。は常に左側に配置されます。コンテナの幅は増減できます。各行のギャップが同じで反応するレイアウト
コンテナのサイズが増加している場合、行+1の最初の要素は1行戻って右側に表示されます。しかし、それは左と右の側面に詰め物とそこに収まることができれば、それは一行だけ戻る必要があります。
要素にはスペースが1つもありませんが、要素間の間隔は、行+1の要素がこの行に収まるまで増加する必要があります。
同じ機能は、逆の方法でも機能します。
.container {
min-height: 400px;
display: flex;
flex-wrap: wrap;
flex-direction: row;
justify-content: space-around;
align-items: center;
align-content: flex-start;
}
.container:after {
display: block;
content: " invisible node ";
flex(999 999 auto);
}
.item {
flex: 0 0 auto;
margin: 5px;
width: 50px;
height: 50px;
background-color: green;
}
<div class="container">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
https://jsfiddle.net/p6k537ep/
2行目の要素との間の空間は、第一と同じではないことを私の問題のIST:ここ
は私のコードであります行(いくつの要素があるかによって異なります)。
編集:
しかし、彼らがanoughスペースを持っている場合は、2番目の行からの要素だけabouve 1行を移動できることに取り組んでいます。ギャップは最初の行で正しい方法で成長しているが、2番目の行では成長していない。
このようにafter要素を修正してください。コンテナ:{ 表示後:ブロック; コンテンツ: "不可視ノード"; フレックス:999; } '..この構文' flex(999 999 auto); 'が無効です –
@TemaniAfifあなたの答えをありがとう、私はそれを変更して動作します。しかし第二の問題は、要素間のギャップが同じではないということです。これにはどんな解決策がありますか? –
あなたは異なったflex-growと同じギャップを作ることはできません...あなたの場合は少し難しいでしょう –