margin:auto では要素を中央に配置できない場合
要素を配置する場合、位置を指定しない要素と位置を指定する要素の違いを理解することが重要です:absolute property.
なしの要素Position:absolute
インフロー要素 (position:absolute のない要素) の場合、中央揃えには margin:auto と指定された幅のみが必要です。仕様では、margin-left と margin-right の両方が auto の場合、それらの値は同じになり、コンテナ内の要素が水平方向の中央に配置されます。
Position:absolute
ただし、position:absolute を持つ要素の場合、margin:auto だけを使用したセンタリングでは不十分です。この仕様では、次の条件が満たされる必要があると指定されています。
left、width、right がすべて定義されている必要があります。- 3 つすべてが auto の場合、margin-left および margin-right
- margin-left または margin-right のいずれかが auto の場合は、次のように設定する必要があります。 0.
-
position:absolute で要素を中央に配置するには、left、right、width を設定し、仕様で提供されている式に基づいて margin-left と margin-right を計算できるようにします。
説明するには:
- ケース 1:position:relative with margin:auto - これは、コンテナ内で要素を水平方向に中央に配置します。
- ケース 2: margin:auto のみを使用したposition:absolute - これは要素を中央に配置しません。 left、right、または width を指定する必要があります。
- ケース 3: left、right、width を設定したposition:absolute - これにより、要素がコンテナ内で水平方向の中央に配置されます。
これらの違いと、さまざまな配置コンテキストにおける margin:auto の動作を理解することは、要素を効果的に配置するために不可欠です。
以上が「margin: auto」では不十分な場合、「position: ABS」を使用して要素を中央に配置するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。