ホームページ > ウェブフロントエンド > CSSチュートリアル > 位置の違いは何ですか:静的、位置:相対、位置:絶対、および位置:固定?

位置の違いは何ですか:静的、位置:相対、位置:絶対、および位置:固定?

Robert Michael Kim
リリース: 2025-03-19 15:16:29
オリジナル
386 人が閲覧しました

位置の違いは何ですか:静的、位置:相対、位置:絶対、および位置:固定?

CSSのpositionプロパティは、要素の位置決め方法を指定するために使用されます。このプロパティには、 staticrelativeabsolute 、およびfixed 4つの主要な値があります。それぞれの詳細な説明は次のとおりです。

  • 位置:静的:これは、すべての要素のデフォルト値です。要素にposition: static場合、ドキュメントの通常の流れに従って配置されます。 toprightbottomleftプロパティは、静的に配置された要素に影響しません。
  • 位置:相対position: relative位置は通常の位置に対して配置されます。 toprightbottom 、およびleftプロパティを使用して、通常の位置から要素を遠ざけることができます。ページ上の他の要素は、比較的配置された要素がまだ元の位置にあるかのように配置されています。
  • 位置:絶対position: absoluteが削除され、ページレイアウトの要素用のスペースは作成されません。それは、その最も近い位置付けられた祖先に対して(固定のようなビューポートに相対的に配置される代わりに)位置に位置しています。祖先がstatic以外に位置を持たない場合、初期含有ブロック(通常は要素)を使用します。
  • 位置:固定position: fixedビューポートに対して位置付けられます。つまり、ページがスクロールされていても、常に同じ場所にとどまることを意味します。 toprightbottom 、およびleftプロパティは、位置を決定するために使用されます。

これらの各ポジショニング方法は、ドキュメントフロー内で要素がどのように動作するか、それが他の要素やビューポートとどのように相互作用するかに影響します。

要素の積み重ね順序は、異なるCSS位置プロパティでどのように変化しますか?

要素の積み重ね順序(またはz-order)は、 positionプロパティと組み合わせてCSS z-indexプロパティによって決定されます。さまざまなポジショニング方法が積み重ね順序にどのように影響するかは次のとおりです。

  • 静的位置決めposition: static z-indexで定義されているように、zオーダーに関与しないでください。それらは、ドキュメントソースに下から上に表示される順序でレンダリングされます。
  • 相対的、絶対的、固定された位置付けposition: relativeposition: absolute 、またはposition: fixed z-indexプロパティによってzorderを制御できます。 z-index値が高い要素はz-index値が低い要素の上に表示されます。
  • スタッキングコンテキストstatic (およびauto以外のz-index )以外の位置を持つ要素が新しいスタッキングコンテキストを確立する場合、そのすべての子供要素はこのコンテキスト内でレンダリングされます。これは、異なるスタッキングコンテキスト内の要素のz-index値が、独自のコンテキスト内でのみ比較されることを意味します。
  • デフォルトのスタッキング順序:スタッキングコンテキスト内で、要素はこの順序で(下から上まで)積み重ねられます。

    1. スタッキングコンテキストを形成する要素の背景と境界線。
    2. 負のz-index値を持つ位置要素(最初に積み重ねられます)。
    3. 非位置要素( position: static )。
    4. z-index: autoまたはz-index: 0
    5. 正のz-index値を持つ位置要素(より高い数値が最後に積み重ねられます)。

これらのルールを理解することは、Webページ上の要素の視覚的な階層化を制御するために重要です。

ポジションの使用方法:相対と位置:絶対に一緒にレイアウトを作成できますか?

position: relativeおよびposition: absoluteものは、複雑なレイアウトを作成するためのCSSの一般的な手法です。これがどのように機能しますか:

  1. position: relative :親コンテナにはposition: relative 。この設定position: absolute要素が、ドキュメント全体ではなく、このコンテナに対して配置されることが保証されます。

     <code class="css">.parent-container { position: relative; }</code>
    ログイン後にコピー
  2. position: absolute :親コンテナ内に正確に配置する子要素は、 position: absolute必要です。その後、 toprightbottom 、および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ピクセルに配置されます。

画面上の固定場所に要素を保持するために使用する必要があるCSS位置プロパティはどれですか?

スクロールに関係なく、画面上の固定場所に要素を保持するには、 position: fixedプロパティ]を使用する必要があります。これがどのように機能しますか:

  • 使用法position: fixed 、通常のドキュメントフローから削除され、ページレイアウトにスペースが作成されません。要素はビューポートに対して位置付けられています。つまり、ページがスクロールされているときに移動しないことを意味します。
  • プロパティtoprightbottom 、およびleftプロパティを使用して、ビューポート内の固定要素の正確な位置を指定できます。

これが例です:

 <code class="css">.fixed-element { position: fixed; top: 20px; right: 30px; background-color: blue; }</code>
ログイン後にコピー

この例では、 .fixed-element常に上部から20ピクセル、ビューポートの右から30ピクセルに配置され、ユーザーがページをスクロールした場合でも所定の位置に留まります。

position: fixed常に目に見えるようにしたい、常に画面上の同じ場所にあるナビゲーションバー、ヘッダー、またはフッターなどの要素に最適です。

以上が位置の違いは何ですか:静的、位置:相対、位置:絶対、および位置:固定?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート