ラップされた子要素に合わせてコンテナを縮小します
P粉182218860
P粉182218860 2023-10-21 10:33:50
0
2
403

次のような状況でフレックスボックスがどのように機能するか (機能するはずですか?...) を理解しようとしています:

リーリー リーリー

JSFiddleはこちらです

問題は、要素を保持するのに十分なスペースがある場合、子の間に均等な間隔があり、適切なタイトな子が得られることです。 (最初、一番上の div ブロック)

ただし、子に十分なスペースがなく、テキストが折り返され始めると、すべてが奇妙な方向に進みます。子はもはやぴったりと収まらず、折り返された後でも、 flex 子の周囲にはまだ十分なスペースがあります。これはもう適合せず、周囲のスペースが実際に機能する機会がないためです (2 番目の div ブロック)

ただし、自動改行が行われる場所に手動で改行を追加すると、すべてが「あるべき」ようにレイアウトされます... (下部、3 番目のブロック)

私が望むのは、子を常にボックス (黒い枠線) 内にしっかりと配置し、私の場合は手動で改行を追加することなく (これはオプションではありません)

###出来ますか? ...

P粉182218860
P粉182218860

全員に返信(2)
P粉930534280

変更内容を詳しく見てみましょう Fiddle:

  • .holder width から max-width (クラス .v 内)
  • #.holderwrap および space-around にその子を変更しました
  • わかりやすくするために、さらに 2 つの
  • .v クラスを追加しました。

  • を削除しました
    そして、
  • 最も重要な点は、
  • flex: 0 0.child に追加することです。
  • Flexbox では、ほとんどの場合、
max-width

を設定する必要があります。これは、width よりも柔軟です。 .children をどのように動作させたいかに応じて、flex: 0 0 の flex-growflex-shrink を変更して満足させます。あなたの要望。 (flex:1 0の結果も良さそうです) ...JavaScript は必要ありません...

Codrops フレックスボックス リファレンス

フレックスボックスのレイアウトを理解するのに非常に役立ちます。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!