検索
ホームページウェブフロントエンドCSSチュートリアルCSS のカスケード コンテキストの詳細な分析

この記事では、CSS のカスケード コンテキストについて説明し、例を通じてカスケード レベルを比較します。

CSS のカスケード コンテキストの詳細な分析

少し前、会社がローコードプラットフォームビジネスを推進し始め、私も幸運にもそれに参加することができました。この間、CSSのカスケードコンテキストが絡んでいて困ったことがありましたが、ビジネスロジックをより良く実装するためには、CSSのカスケードコンテキストを深く勉強した方が良いのではないかと思いました。 Web ページは 2 次元空間ですが、コンテンツは 3 次元であることは誰もが知っているはずです。より直感的な x 軸と y 軸に加えて、あまり直感的ではない Z 軸もあります。

カスケード コンテキスト要素

日常の開発プロセスでは、カスケード コンテキストに関連する一般的に使用される属性がいくつかあります:

  • position: 絶対 | 固定 | 相対| スティッキー

  • ##z-index

  • ##float: 左 | 右
  • 変換
  • スタッキング レベルの比較

祖先と孫のネストを含まない、単純なレベルの比較:

z-index: -1 ; float 0

先祖要素を含むカスケード コンテキストが生成された場合、それは子孫になります要素のスタック レベルはその先祖の影響を受けます要素。

注:

カスケード コンテキスト レベルは、特定の要素のみがカスケード コンテキストを作成するため、HTML 要素レベルの子です。独自のスタッキング コンテキストを作成しない要素は、親のスタッキング コンテキストによって 同化されると言えます。

実際的な問題

ビジュアル実装のプロセス中に、問題が発生しました。ネストされたレベルのドラッグ アンド ドロップのプロセス中に、ネストされた親にすでにレベルが存在します。問題は、祖先要素と孫要素が祖先要素の影響を受け、ドラッグすると「通常のドキュメント フロー」要素によってカバーされてしまうことです。一定期間の調査の結果、この問題はさまざまなスタッキング コンテキストの影響によって引き起こされていることが判明しました。

実践

1. 同じレベルでのカスケードコンテキストの比較コードが多すぎるので、私の勝ちですここでスペースを無駄にしないでください。デモンストレーションが実行され、私の操作結果が直接アップロードされます。以下の写真を通して、上記の同じレベルの階層比較を確認できます。

CSS のカスケード コンテキストの詳細な分析

2. さまざまな位置のスタッキングコンテキストの比較位置については、z を使用しません。 -index の場合、兄弟要素のカスケード コンテキストは兄弟要素のカスケード コンテキストより大きくなります。人間の言葉で言えば、次の要素のカスケード コンテキストが前の要素のコンテキストよりも高いことを意味します。

    .fixed {
      position: fixed;
      top: 0;
      left: 0;
      background: red;
    }

    .relative {
      position: relative;
      top: 20px;
      left: 20px;
      background: green;
    }

    .absolute {
      position: absolute;
      top: 60px;
      left: 60px;
      background: yellow;
    }

    .sticky {
      position: sticky;
      top: 60px;
      left: 90px;
      background: pink;
    }

CSS のカスケード コンテキストの詳細な分析

3. さまざまなスタッキング コンテキストでのスタッキング レベルの比較まず、それを再現してみましょう。前述の実際的な問題は、さまざまなカスケード コンテキストでのカスケード レベルの実装です。

CSS のカスケード コンテキストの詳細な分析赤いブロックと緑のブロックは 2 つの兄弟要素です。赤のスタッキング レベルは緑のスタッキング レベルよりも高いため、赤のブロック内の 2 つの要素は次のようになります。スタッキング レベル。オレンジ色のブロック要素よりも低くなりますが、最終的な効果としては、オレンジ色のスタック レベルが他のブロック要素よりも低くなります。

    .purple {
      top: 20px;
      left: 20px;
      background: purple;
      z-index: 10;
    }

    .pink {
      top: 60px;
      left: 60px;
      background: pink;
      z-index: 20;
    }

    .orange {
      top: 10px;
      left: 10px;
      background: orange;
      z-index: 999;
    }

ここで、上記の問題に対する私の解決策について触れておきます。それは、祖先要素のカスケード レベルを動的に変更することです。ただ、ネストの階層が多いと面倒なので、この方法は研究が必要だと個人的に感じています。誰かがより良い方法を持っている場合は、以下にメッセージを残してください。

(学習ビデオ共有:

css ビデオ チュートリアル

)

以上がCSS のカスケード コンテキストの詳細な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は掘金社区で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
非常に多くの色のリンク非常に多くの色のリンクApr 13, 2025 am 11:36 AM

最近の色に関するツール、記事、リソースの実行がありました。あなたの楽しみのためにここにそれらを丸くすることで、私がいくつかのタブを閉じてもらいましょう。

FlexBoxでの自動マージンの仕組みFlexBoxでの自動マージンの仕組みApr 13, 2025 am 11:35 AM

ロビンは以前にこれをカバーしたことがありますが、私は過去数週間でそれについての混乱を聞いて、他の人がそれを説明することに刺されたのを見ました、そして私は望んでいました

動く虹色の下線動く虹色の下線Apr 13, 2025 am 11:27 AM

サンドイッチサイトのデザインが大好きです。多くの美しい特徴の中には、これらの見出しがあり、レインボーの下線が下線を描いて、スクロールするときに動きます。そうではありません

新年、新しい仕事?グリッド駆動の履歴書を作成しましょう!新年、新しい仕事?グリッド駆動の履歴書を作成しましょう!Apr 13, 2025 am 11:26 AM

多くの人気のある履歴書設計は、グリッド形状にセクションを配置することにより、利用可能なページスペースを最大限に活用しています。 CSSグリッドを使用して、レイアウトを作成しましょう

リロードしすぎるという習慣からユーザーを分解する1つの方法リロードしすぎるという習慣からユーザーを分解する1つの方法Apr 13, 2025 am 11:25 AM

ページのリロードは何かです。ページが反応しないと思われるとき、または新しいコンテンツが利用可能であると信じるときにページを更新することもあります。時々私たちはただ怒っています

Reactを使用したドメイン駆動型のデザインReactを使用したドメイン駆動型のデザインApr 13, 2025 am 11:22 AM

Reactの世界でフロントエンドアプリケーションを整理する方法に関するガイダンスはほとんどありません。 (「正しいと感じる」までファイルを移動するだけです笑)。真実

非アクティブユーザーの検出非アクティブユーザーの検出Apr 13, 2025 am 11:08 AM

ほとんどの場合、ユーザーがアプリケーションに積極的に関与しているのか、一時的に非アクティブであるかを本当に気にしません。非アクティブ、意味、おそらく彼ら

Wufoo ZapierWufoo ZapierApr 13, 2025 am 11:02 AM

Wufooは常に統合に優れています。キャンペーンモニター、MailChimp、TypeKitなどの特定のアプリと統合されていますが、

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター