CSS で他の要素の状態に基づいて要素を選択する方法
はじめに
特定の要素をターゲットにすることは、常に CSS の基本的な側面です。ただし、ページ内の他の要素の状態に基づいて要素のスタイルを設定する必要がある場合、複雑さが生じます。この記事では、現在の CSS セレクターの制限を調査し、今後の標準による潜在的な解決策を紹介します。
現在の CSS セレクターの制限
CSS セレクターには、要素の選択においていくつかの制限があります。他人の状態に基づいて。まず、親セレクターまたは以前の兄弟セレクターを使用して要素の状態に直接アクセスすることはできません。次に、セレクターの対象として単一の要素のみをターゲットにできるため、条件に基づいて複数の要素にスタイルを適用することができません。
例: ホバー状態に基づいて要素をターゲットにする
1 ページに複数のセクションがあるとします。各セクションには、ステータスを表す「finished」データ属性を持つ div が含まれています。 「finished」属性を持つ div がホバーされるたびに、次のセクションで点滅および回転する要素に色付きの境界線を追加したいと考えています。このための単純な CSS セレクターは次のようになります:
section:hover + section .blink, section:hover + section .spin { border: 1px solid red; }
ただし、CSS には最初のセクションの div をターゲットにする親セレクターがないため、これは機能しません。
潜在的な解決策: Selectors 4 と :has()
今後の Selectors 4 のドラフトでは、次のものが導入されます。 :has() という疑似クラスがこの問題を解決します。 :has() を使用すると、特定の子孫を持つ要素を選択できます。これは、それが使用される要素の子孫と一致する相対セレクター引数を受け取ります。
上記の問題に対する :has() を使用した解決策は次のようになります。
section:has(div[data-status~=finished]) + section div:matches(.blink, .spin) { border: 1px solid red; }
ここでは、次のようになります。 has() は、セレクターが「finished」ステータスの div を含むセクションのみをターゲットにすることを保証します。また、子コンビネータと :matches() を組み合わせて、後続のセクションで点滅要素と回転要素の両方をターゲットにします。
結論
現在の CSS セレクターには選択に制限がありますが、他の要素の状態に基づいて要素を管理するため、Selectors 4 の今後の :has() 疑似クラスが潜在的な解決策を提供します。セレクター構文が強化され、要素の柔軟性と条件付きターゲットが可能になります。
以上がCSS セレクターは他の要素の状態に基づいて要素をターゲットにすることができますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

CSSグリッドは、複雑で応答性の高いWebレイアウトを作成するための強力なツールです。設計を簡素化し、アクセシビリティを向上させ、古い方法よりも多くの制御を提供します。

記事では、レスポンシブデザインにおけるスペースの効率的なアラインメントと分布のためのレイアウト方法であるCSS FlexBoxについて説明します。 FlexBoxの使用量を説明し、CSSグリッドと比較し、ブラウザのサポートを詳細に説明します。

この記事では、ビューポートメタタグ、柔軟なグリッド、流体メディア、メディアクエリ、相対ユニットなど、CSSを使用してレスポンシブWebサイトを作成するための手法について説明します。また、CSSグリッドとフレックスボックスを使用してカバーし、CSSフレームワークを推奨しています

この記事では、要素の寸法の計算方法を制御するCSSボックスサイズのプロパティについて説明します。コンテンツボックス、ボーダーボックス、パディングボックスなどの値と、レイアウト設計とフォームアライメントへの影響について説明します。

記事では、CSS、キープロパティ、およびJavaScriptとの組み合わせを使用してアニメーションの作成について説明します。主な問題は、ブラウザの互換性です。

記事では、3D変換、主要なプロパティ、ブラウザの互換性、およびWebプロジェクトのパフォーマンスに関する考慮事項にCSSを使用して説明します。

この記事では、CSSグラデーション(線形、放射状、繰り返し)を使用して、ウェブサイトのビジュアルを強化し、深さ、フォーカス、および現代の美学を追加します。

記事では、CSSの擬似要素、HTMLスタイリングの強化における使用、および擬似クラスとの違いについて説明します。実用的な例を提供します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

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

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

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