ホームページ ウェブフロントエンド CSSチュートリアル CSS :has() 擬似クラス: 動的なスタイリングのための強力なセレクター

CSS :has() 擬似クラス: 動的なスタイリングのための強力なセレクター

Dec 23, 2024 pm 06:55 PM

CSS は、開発者が動的で直感的で視覚的に魅力的な Web ページを簡単に構築できるように継続的に進化しています。そのような拡張機能の 1 つは、最新の CSS で導入された :has() 擬似クラスです。この疑似クラスは親を意識した選択機能をもたらし、子要素または兄弟要素の存在または状態に基づいて条件付きでスタイルを適用できるようにします。

この記事では、:has() 擬似クラスについて説明し、その柔軟性と能力を示す例を示します。

:has() 擬似クラスとは何ですか?

:has() 疑似クラスは、子、兄弟、または子孫に基づいて要素のスタイルを設定できるため、「親セレクター」と呼ばれることがよくあります。

  • セレクターは、ルールが適用される主な要素です。
  • selectorList は条件であり、子、兄弟、またはメイン要素に関連するその他の要素を含めることができます。

主な機能

  • 親の認識: スタイルは、その子孫または兄弟に基づいて要素に適用されます。
  • 柔軟な条件: 、 ~ 、 > などのコンビネータで動作します。兄弟や子供の関係のために。
  • 対話性の向上: JavaScript に依存せずに動的なレイアウトや効果を作成するのに役立ちます。

実用的な例: :has() を使用して兄弟に基づいてボックスをスタイル設定する

2. ダイナミック ナビゲーション メニュー

親にスタイルを適用する

  • ドロップダウン メニューが含まれている場合。

    3. フォームの検証

    兄弟要素または親要素に基づいて無効な入力フィールドを強調表示します。

    4. カスタム兄弟関係

    隣接する兄弟に基づいて要素のスタイルを設定します。

    :has() の利点

    1. 読みやすさの向上:

      • DOM を検出して操作するための複雑な JavaScript の必要性が軽減されます。
    2. パフォーマンスを向上させます:

      • 同様の効果を得る JavaScript ソリューションと比較して軽量かつ効率的です。
    3. CSS を簡素化します:

      • 複雑な関係の宣言型スタイルを有効にし、余分なクラスや属性を最小限に抑えます。

    ブラウザのサポート

    現時点では、:has() 疑似クラスは、以下を含むほとんどの最新ブラウザでサポートされています。

    • クロム: 105
    • エッジ: 105
    • サファリ: 15.4
    • Firefox: サポートは検討中です。

    古いブラウザの場合は、フォールバックまたはポリフィルが必要になる場合があります。


    結論

    :has() 疑似クラスは、最新の CSS に大きな変革をもたらし、待望の親セレクター機能をもたらします。要素の関係に基づいて条件付きでスタイルを設定できる機能により、CSS コードが簡素化され、動的なスタイルが強化され、DOM 操作における JavaScript への依存が軽減されます。

    プロジェクトで :has() 疑似クラスを探索し、創造的で効率的な Web デザインの新たな可能性を解き放ちましょう!

    以上がCSS :has() 擬似クラス: 動的なスタイリングのための強力なセレクターの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

  • このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

    ホット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衣類リムーバー

    Video Face Swap

    Video Face Swap

    完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

    ホットツール

    メモ帳++7.3.1

    メモ帳++7.3.1

    使いやすく無料のコードエディター

    SublimeText3 中国語版

    SublimeText3 中国語版

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

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SublimeText3 Mac版

    SublimeText3 Mac版

    神レベルのコード編集ソフト(SublimeText3)

    Googleフォント変数フォント Googleフォント変数フォント Apr 09, 2025 am 10:42 AM

    Google Fontsが新しいデザイン(ツイート)を展開したようです。最後の大きな再設計と比較して、これははるかに反復的です。違いをほとんど伝えることができません

    HTML、CSS、JavaScriptを使用してアニメーションカウントダウンタイマーを作成する方法 HTML、CSS、JavaScriptを使用してアニメーションカウントダウンタイマーを作成する方法 Apr 11, 2025 am 11:29 AM

    プロジェクトにカウントダウンタイマーが必要だったことはありますか?そのようなことのために、プラグインに手を伸ばすのは自然なことかもしれませんが、実際にはもっとたくさんあります

    HTMLデータ属性ガイド HTMLデータ属性ガイド Apr 11, 2025 am 11:50 AM

    HTML、CSS、およびJavaScriptのデータ属性について知りたいと思っていたことはすべて。

    SASSをより速くするための概念の証明 SASSをより速くするための概念の証明 Apr 16, 2025 am 10:38 AM

    新しいプロジェクトの開始時に、SASSコンピレーションは瞬く間に起こります。これは、特にbrowsersyncとペアになっている場合は素晴らしい気分です。

    SVGでタータンパターンを生成する静的サイトを作成する方法 SVGでタータンパターンを生成する静的サイトを作成する方法 Apr 09, 2025 am 11:29 AM

    タータンは、スコットランド、特にファッショナブルなキルトに通常関連する模様のある布です。 Tartanify.comでは、5,000を超えるTartanを集めました

    WordPressテーマでVueコンポーネントを構築する方法 WordPressテーマでVueコンポーネントを構築する方法 Apr 11, 2025 am 11:03 AM

    インラインテンプレートディレクティブにより、既存のWordPressマークアップに対する進行性の強化として、リッチVUEコンポーネントを構築できます。

    PHPはテンプレートのA-OKです PHPはテンプレートのA-OKです Apr 11, 2025 am 11:04 AM

    PHPテンプレートは、多くの場合、サブパーコードを促進するために悪いラップを取得しますが、そうである必要はありません。 PHPプロジェクトが基本を実施する方法を見てみましょう

    SASSをプログラミングして、アクセス可能な色の組み合わせを作成します SASSをプログラミングして、アクセス可能な色の組み合わせを作成します Apr 09, 2025 am 11:30 AM

    私たちは常にWebをよりアクセスしやすくしたいと考えています。色のコントラストは単なる数学なので、SASSはデザイナーが見逃したかもしれないエッジケースをカバーするのに役立ちます。

    See all articles