CSSのposition
プロパティは、要素の位置決め方法を指定するために使用されます。このプロパティには、 static
、 relative
、 absolute
、およびfixed
4つの主要な値があります。それぞれの詳細な説明は次のとおりです。
position: static
場合、ドキュメントの通常の流れに従って配置されます。 top
、 right
、 bottom
、 left
プロパティは、静的に配置された要素に影響しません。position: relative
位置は通常の位置に対して配置されます。 top
、 right
、 bottom
、およびleft
プロパティを使用して、通常の位置から要素を遠ざけることができます。ページ上の他の要素は、比較的配置された要素がまだ元の位置にあるかのように配置されています。position: absolute
が削除され、ページレイアウトの要素用のスペースは作成されません。それは、その最も近い位置付けられた祖先に対して(固定のようなビューポートに相対的に配置される代わりに)位置に位置しています。祖先がstatic
以外に位置を持たない場合、初期含有ブロック(通常は
要素)を使用します。position: fixed
ビューポートに対して位置付けられます。つまり、ページがスクロールされていても、常に同じ場所にとどまることを意味します。 top
、 right
、 bottom
、およびleft
プロパティは、位置を決定するために使用されます。これらの各ポジショニング方法は、ドキュメントフロー内で要素がどのように動作するか、それが他の要素やビューポートとどのように相互作用するかに影響します。
要素の積み重ね順序(またはz-order)は、 position
プロパティと組み合わせてCSS z-index
プロパティによって決定されます。さまざまなポジショニング方法が積み重ね順序にどのように影響するかは次のとおりです。
position: static
z-index
で定義されているように、zオーダーに関与しないでください。それらは、ドキュメントソースに下から上に表示される順序でレンダリングされます。position: relative
、 position: absolute
、またはposition: fixed
z-index
プロパティによってzorderを制御できます。 z-index
値が高い要素はz-index
値が低い要素の上に表示されます。static
(およびauto
以外のz-index
)以外の位置を持つ要素が新しいスタッキングコンテキストを確立する場合、そのすべての子供要素はこのコンテキスト内でレンダリングされます。これは、異なるスタッキングコンテキスト内の要素のz-index
値が、独自のコンテキスト内でのみ比較されることを意味します。デフォルトのスタッキング順序:スタッキングコンテキスト内で、要素はこの順序で(下から上まで)積み重ねられます。
z-index
値を持つ位置要素(最初に積み重ねられます)。position: static
)。z-index: auto
またはz-index: 0
。z-index
値を持つ位置要素(より高い数値が最後に積み重ねられます)。これらのルールを理解することは、Webページ上の要素の視覚的な階層化を制御するために重要です。
position: relative
およびposition: absolute
ものは、複雑なレイアウトを作成するためのCSSの一般的な手法です。これがどのように機能しますか:
position: relative
:親コンテナにはposition: relative
。この設定position: absolute
要素が、ドキュメント全体ではなく、このコンテナに対して配置されることが保証されます。
<code class="css">.parent-container { position: relative; }</code>
position: absolute
:親コンテナ内に正確に配置する子要素は、 position: absolute
必要です。その後、 top
、 right
、 bottom
、およびleft
プロパティを使用して、親に対する位置を指定できます。
<code class="css">.child-element { position: absolute; top: 10px; left: 20px; }</code>
これにより.child-element
10ピクセルが上部から10ピクセル、 .parent-container
の左側から20ピクセルを配置します。
これがHTMLとCSSでどのように見えるかの例です。
<code class="html"><div class="parent-container"> <div class="child-element">This is the child element</div> </div></code>
<code class="css">.parent-container { position: relative; width: 300px; height: 200px; border: 1px solid black; } .child-element { position: absolute; top: 10px; left: 20px; background-color: red; }</code>
この例では、 .child-element
、上部から10ピクセル、 .parent-container
の左側から20ピクセルに配置されます。
スクロールに関係なく、画面上の固定場所に要素を保持するには、 position: fixed
プロパティ]を使用する必要があります。これがどのように機能しますか:
position: fixed
、通常のドキュメントフローから削除され、ページレイアウトにスペースが作成されません。要素はビューポートに対して位置付けられています。つまり、ページがスクロールされているときに移動しないことを意味します。top
、 right
、 bottom
、およびleft
プロパティを使用して、ビューポート内の固定要素の正確な位置を指定できます。これが例です:
<code class="css">.fixed-element { position: fixed; top: 20px; right: 30px; background-color: blue; }</code>
この例では、 .fixed-element
常に上部から20ピクセル、ビューポートの右から30ピクセルに配置され、ユーザーがページをスクロールした場合でも所定の位置に留まります。
position: fixed
常に目に見えるようにしたい、常に画面上の同じ場所にあるナビゲーションバー、ヘッダー、またはフッターなどの要素に最適です。
以上が位置の違いは何ですか:静的、位置:相対、位置:絶対、および位置:固定?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。