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

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 までご連絡ください。
    @KeyFrames対CSSトランジション:違いは何ですか?@KeyFrames対CSSトランジション:違いは何ですか?May 14, 2025 am 12:01 AM

    @keyframesandcsstransitionsdifferincomplexity:@keyframesallowsfordeTailedAnimationのシーケンス、whilecsstransitionshandlesimplestatechanges.usecsstransitionsは、ButtonColorChanges、および@keyframesforintricateanimationslikerotatingingspinnnersを使用します。

    静的サイトコンテンツ管理にページCMSを使用します静的サイトコンテンツ管理にページCMSを使用しますMay 13, 2025 am 09:24 AM

    私は知っています、私は知っています:たくさんのコンテンツ管理システムオプションが利用可能であり、私はいくつかテストしましたが、実際にはY'知っているものはありませんでしたか?奇妙な価格設定モデル、困難なカスタマイズ、一部は全体になることさえあります&

    HTMLのCSSファイルをリンクするための究極のガイドHTMLのCSSファイルをリンクするための究極のガイドMay 13, 2025 am 12:02 AM

    CSSファイルをHTMLにリンクすることは、HTMLの一部で要素を使用することで実現できます。 1)タグを使用して、ローカルCSSファイルをリンクします。 2)複数のタグを追加することにより、複数のCSSファイルを実装できます。 3)外部CSSファイルは、そのような絶対URLリンクを使用します。 4)ファイルパスとCSSファイルの読み込み順序の正しい使用を確認し、パフォーマンスを最適化すると、CSSプリプロセッサを使用してファイルをマージできます。

    CSS Flexbox vsグリッド:包括的なレビューCSS Flexbox vsグリッド:包括的なレビューMay 12, 2025 am 12:01 AM

    FlexBoxまたはグリッドの選択は、レイアウト要件によって異なります。1)FlexBoxは、ナビゲーションバーなどの1次元レイアウトに適しています。 2)グリッドは、雑誌のレイアウトなどの2次元レイアウトに適しています。この2つは、レイアウト効果を改善するためにプロジェクトで使用できます。

    CSSファイルを含める方法:メソッドとベストプラクティスCSSファイルを含める方法:メソッドとベストプラクティスMay 11, 2025 am 12:02 AM

    CSSファイルを含める最良の方法は、タグを使用してHTMLパーツに外部CSSファイルを導入することです。 1.タグを使用して、外部CSSファイルを導入します。 2。小さな調整のために、インラインCSSを使用できますが、注意して使用する必要があります。 3.大規模プロジェクトでは、@Importを介して他のCSSファイルをインポートするために、SASS以下などのCSSプリプロセッサを使用できます。 4。パフォーマンスのために、CSSファイルをマージし、CDNを使用し、CSSNANOなどのツールを使用して圧縮する必要があります。

    FlexBox対グリッド:両方を学ぶべきですか?FlexBox対グリッド:両方を学ぶべきですか?May 10, 2025 am 12:01 AM

    はい、Youはrelearnbothlexboxandgrid.1)FlexBoxisidealforone-Dimensional、FlexiblleayoutslikenavigationMenus.2)Gridexcelsintwo-digsignssuchasmagazinelayouts.3)Bothenhanceslaysutibulivedibulisunivedivition、floctonsulururを

    軌道力学(またはCSSキーフレームアニメーションの最適化方法)軌道力学(またはCSSキーフレームアニメーションの最適化方法)May 09, 2025 am 09:57 AM

    独自のコードをリファクタリングするのはどのように見えますか?ジョン・レアは、彼が書いた古いCSSアニメーションを選び、それを最適化するという思考プロセスを歩きます。

    CSSアニメーション:それらを作成するのは難しいですか?CSSアニメーション:それらを作成するのは難しいですか?May 09, 2025 am 12:03 AM

    cssanimationsArenotintinlentyhardbutrepracticeanderstanding ofcsspropertiesandtimingfunctions.1)

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

    Video Face Swap

    Video Face Swap

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

    ホットツール

    EditPlus 中国語クラック版

    EditPlus 中国語クラック版

    サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

    SublimeText3 英語版

    SublimeText3 英語版

    推奨: Win バージョン、コードプロンプトをサポート!

    MantisBT

    MantisBT

    Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

    SublimeText3 Linux 新バージョン

    SublimeText3 Linux 新バージョン

    SublimeText3 Linux 最新バージョン

    SecLists

    SecLists

    SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。