ホームページ  >  記事  >  ウェブフロントエンド  >  「margin: auto」が絶対位置の要素を中央に配置しないのはなぜですか?

「margin: auto」が絶対位置の要素を中央に配置しないのはなぜですか?

DDD
DDDオリジナル
2024-11-02 13:46:30294ブラウズ

Why doesn't `margin: auto` center absolutely positioned elements?

自動マージンを使用して絶対に配置された要素の中央揃えに失敗しました

自動マージンを使用してページ上に絶対に配置された要素を中央に配置しようとすると、予期したという動作が起こらない可能性があります。具体的には、margin-left と margin-right の両方を auto に設定すると、この手法は相対的に配置された要素には機能しますが、要素を中央に配置できません。

この不一致は、絶対的に配置された要素が通常のフローから除外されるために発生します。ドキュメントのレイアウトで。この切り離された位置では、要素をコンテナに位置合わせするマージンの自動動作は適用されなくなります。

解決策

絶対配置で要素を正しく中央に配置するには、代替アプローチを採用する必要があります。以下にいくつかのオプションがあります:

  • 固定幅と中央揃え: 固定幅を設定し、左に適用: 50%;変換: 変換(-50%, 0);要素を水平方向に中央揃えにします。
  • Containing Parent: 要素を親要素内に配置し、text-align: center を使用して中央に配置します。
  • Flexbox: フレックスボックス レイアウトを使用して、コンテナ内で要素を水平方向に整列させます。

以上が「margin: auto」が絶対位置の要素を中央に配置しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。