P粉6048485882023-08-21 11:24:13
以下に、2 つの一般的なセンタリング ソリューションを示します。
1 つは垂直方向に整列したフレックス項目 (flex-direction: column
) 用で、もう 1 つは水平方向に整列したフレックス項目 (flex-direction: row
) 用です。
どちらの場合も、中央の div の高さは可変、未定義、不明、重要ではない可能性があります。
以下は両方の HTML コードです:
リーリーCSS (装飾スタイルを除く)
フレックス項目が垂直方向に積み重ねられる場合:
リーリー #########デモ######### 上記のコードのルールを調整します。 リーリー #########デモ#########
フレキシブルアイテムのコンテンツを中央に配置します
柔軟な書式設定コンテキスト
したがって、子要素に flex プロパティを適用するには、常に display: flex または display: inline-flex
を親要素に適用する必要があります。詳細については、次を参照してください。 フレックスボックスでテキストを垂直方向に配置するにはどうすればよいですか?
あるいは、margin: auto
をフレックス項目のコンテンツ要素に適用することもできます。
リーリー
フレックス
マージンの詳細については、こちらをご覧ください:
フレックス項目を整列させる方法 中央に配置された複数行の柔軟な項目
フレックス コンテナーに複数の行がある場合 (改行により)、軸をまたがる位置合わせには
align-content
ブラウザのサポート
IE <10 を除くすべての主要なブラウザでサポートされています。 Safari 8 や IE10 などの一部の最近のブラウザ バージョンでは、 ベンダー プレフィックス
が必要です。プレフィックスをすばやく追加するには、Autoprefixer を使用します。詳細については、この回答
を参照してください。CSS テーブルと配置プロパティを使用した代替のセンタリング ソリューションについては、この回答を参照してください: https://stackoverflow.com/a/31977476/3597276