P粉5613239752023-08-28 20:51:28
3 番目の空の要素を追加します:
リーリーおよび次のスタイル:
リーリー左と右だけが成長します、そしてそのため...
中心要素は常に完全に中央に配置されます。
私の意見では、これは受け入れられた回答よりもはるかに優れています。なぜなら、左側のコンテンツを右側にコピーして非表示にして、両側で同じ幅にする必要がないからです。それは魔法のように起こるだけです (フレックスボックスは素晴らしいです)。
P粉8999507202023-08-28 20:09:58
編集: 以下の Solo の回答 を参照してください。これはより良い解決策です。
フレックスボックスの背後にある考え方は、コンテナ内の可変寸法の要素を簡単に位置合わせするためのフレームワークを提供することです。したがって、要素の幅を完全に無視したレイアウトを提供することは意味がありません。基本的に、要素を通常のフローから外すため、これが絶対配置の目的です。
私の知る限り、position:absolute;
を使用せずにこれを行う良い方法はありません。そのため、これを使用することをお勧めします...ただし、これを実行したくない、または実行されたくない場合は、絶対位置を使用できない場合は、次のいずれかの回避策を使用できると思います。
「左」div の正確な幅 がわかっている場合は、justify-content
を flex-start
(left) に変更します。 like 次のように「中央揃え」の div を配置します:
幅がわからない場合は、 右側の「Left」をコピーし、justify-content: space- Between;
を使用して、新しい幅を非表示にします。右の要素:
はっきり言っておきますが、これは本当に非常に醜いものです...コンテンツをコピーするよりも絶対配置を使用する方が良いでしょう。 :-)