CSSポジショニングによる階層関係の問題の詳細な説明

CSSポジショニングによる階層関係の問題の詳細な説明

絶対、相対、固定位置の位置決め

  1. absolue: 絶対配置。上、下、左、右を使用して、配置先の親要素に応じて配置します。親要素がない場合は、body 要素、つまりページ ドキュメント全体を基準にして配置されます。
  2. 相対的: 相対的な配置、元の位置に対する配置
  3. 固定: 絶対配置、ブラウザ ウィンドウに対する相対配置 (固定配置では、要素はブラウザ内の特定の位置に保持され、スクロール バーがスクロールしても変化しません)

地位による上下関係の問題

まず、CSS 属性は実際には x 軸、y 軸、z 軸を持つ 3 次元空間であるが、z 軸上の階層関係は position 配置を使用する場合にのみ反映される、つまり、z-index 属性は配置された要素に対してのみ使用できることを知っておく必要があります。それでは、これらの階層関係を分析してみましょう。

階層関係は次のようになります。

  • z-indexプロパティは配置された要素にのみ使用できます。
  • 配置属性を持つ要素のデフォルトのレベルは0です。レベルが同じ場合、次の要素が最上位になり、z-indexとして理解できます: 0+
  • 絶対配置された要素は、後続の要素の Y 軸を上に移動します。絶対配置後、要素は行レベルの要素になることがわかります。
  • z-index値が大きいほど、観察者に近くなります。たとえば、z-index: 2はz-index: 1の上位層にあります。

兄弟配置要素のみがレベルを比較できます

上記の点を分析してみましょう。

最初のポイントを分析してみましょう

<スタイル>
.c1{
    幅: 100ピクセル;
    高さ: 100px;
    背景色: rgb(255, 0, 0);
}
.c2{
    幅: 200ピクセル;
    高さ: 100px;
    背景色: rgb(0, 0, 255);
    位置: 絶対;
    上: 50px;

           }
</スタイル>
<本文> 
        <div class="c1">c1</div>
        <div class="c2">&nbsp&nbsp&nbsp&nbsp&nbspc2</div>
</本文>

この時点で、c2 はより高いレベルにあり、c1 の上に積み重ねられる必要があります。

2番目のポイントを分析してみましょう

<スタイル タイプ="text/css">
           .c1{
                幅: 100ピクセル;
                高さ: 100px;
                背景色: rgb(255, 0, 0);
                位置: 相対的;

           }
           .c2{
                幅: 200ピクセル;
                高さ: 100px;
                戻る

このとき、配置された要素は階層を持ち、次の要素が最上位にある

3番目のポイントを分析してみましょう

<スタイル タイプ="text/css">
         .c1{
                幅: 100ピクセル;
                高さ: 100px;
                背景色: rgb(255, 0, 0);
                位置: 相対的;

このとき、c2 の位置は絶対的であるため、c3 は c2 を直接覆い、後続の要素は c2 に移動します。2 番目のポイントから、c3 は c2 の上にあるため、c3 は c2 を直接覆っていることがわかります。

4番目のポイントを分析してみましょう

<スタイル タイプ="text/css">
           .c1{
                幅: 100ピクセル;
                高さ: 100px;
                背景色: rgb(255, 0, 0);
                位置: 相対的;

c1 と c2 は両方とも配置された要素で、デフォルトの z-index は 0 です。c1 が c2 の上になるように、c1 の z-index を 1 に設定します。

5番目のポイントを分析してみましょう

<スタイル タイプ="text/css">
           .c1{
                幅: 100ピクセル;
                高さ: 100px;
                背景色: rgb(255, 0, 0);
                位置: 相対的;

           }
           .c2{
                幅: 200ピクセル;
                高さ: 100px;
                背景色: rgb(0, 0, 255);
                位置: 絶対;
                zインデックス: 1;
           }
</スタイル>
<本文>
        <div class="c2">
            &nbsp&nbsp&nbsp&nbsp&nbspc2
            <div class="c1">c1</div>
        </div>
</本文>

c1 を c2 の中に入れます。c2 の z-index が 1 に設定されている場合でも、c1 は c2 より上になります。つまり、ネストされた要素には階層関係がありません。階層関係があるのは兄弟要素のみです。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  LinuxデバッガGDBの基本的な使い方の詳細な説明

>>:  Web ページのソース ファイルを表示できない場合はどうすればよいですか?

推薦する

JS における ES6 継承と ES5 継承の違い

目次継承ES5 プロトタイプ継承ES6 クラス継承両者の違いES5プロトタイプ継承の内部実装ES6 ...

25 個の CSS フレームワーク、ツール、ソフトウェア、テンプレートを共有

スプライトカウダウンロード CSS リントダウンロード プレフィックスダウンロード 1140px C...

Vue3におけるキーの役割と動作原理についての簡単な説明

このキー属性の機能は何ですか?まずは公式の説明を見てみましょう。 kekey 属性は主に、新しいノー...

Linux に JDK1.8 をインストールするための詳細なチュートリアル

1. 設置前の清掃 rpm -qa | grep jdk rpm -qa | grep gcj yu...

Vue プロジェクトをパッケージ化して Apache サーバーにデプロイする手順

開発環境では、vue プロジェクトは、ローカルで Express サーバーを構築することをベースにし...

MySQL で重複レコードを見つけて削除する方法

みなさんこんにちは。私は技術の話ばかりして髪を切らない先生のトニーです。何らかの歴史的な理由や誤操作...

JavaScript 配列メソッドの詳細な例

目次導入配列の作成作成方法詳しい説明方法参加する() push() と pop() shift() ...

MySQLのSeconds_Behind_Masterの詳細な説明

目次マスターの後ろの秒数オリジナルの実装最終マスタータイムスタンプマスターとのクロック差他の実行時間...

私が良いと思うクールなデザインサイトをいくつかまとめてみました。

ウェブサイトをデザインするにはインスピレーションが必要です。良いインスピレーションを得るには、より多...

MySQLテーブルの内容の変更を監視し、MySQL binlogを有効にする

序文binlog は、MySQL のすべての追加、削除、および変更ステートメントを記録するバイナリ ...

モバイルインターネット時代: レスポンシブウェブデザインが一般的なトレンドに

今はモバイルインターネットが急速に発展している時代です。スマートフォンやタブレットはますます普及し、...

MySQL (5.6 以下) の JSON 解析の詳細な例

MySQL(5.6以下)はjsonを解析します #json 解析関数 DELIMITER $$ `j...

MySQL における主キーが 0 であることと主キーの自己選択制約の関係についての詳しい説明 (詳細)

序文この記事は主にMySQLの主キー0と主キー自己排除制約の関係を紹介し、皆さんの参考と学習のために...

Vueカスタムディレクティブを使用してドラッグアンドドロッププラグインを構築する方法

HTML5 のドラッグ アンド ドロップ機能は誰もが知っていますが、これを使用するとドラッグ アンド...