目次
一般的なユースケース:has()
ブラウザのサポートと考慮事項
ホームページ ウェブフロントエンド CSSチュートリアル `:has()` pseudo-class(parent selector)を説明する

`:has()` pseudo-class(parent selector)を説明する

Jul 15, 2025 am 12:32 AM
css

:CSSの()擬似クラスは、子要素に基づいて親要素をターゲットにすることができます。 Syntax Parent:(子セレクター)を使用して、スタイルを条件付きで適用することで機能します。たとえば、div:has(img)は、画像を含むdivにスタイルを適用します。複数のセレクターは、div:has(img、p.special)などのコンマで使用できます。一般的なユースケースには、スタイリングコンテナ、フォーム検証フィードバック、およびサブメナスのあるメニュー項目を示すことが含まれます。 Browser Supportは、Chrome、Safari、Edgeなどの最新のブラウザで利用できますが、Firefoxには2024年後半の時点ではサポートがありません。考慮事項には、パフォーマンスへの影響、非営業行動、およびサポートされていない環境でのフォールバックの必要性が含まれます。

`:has()` pseudo-class(parent selector)を説明する

:has() pseudo-classは、特定の子要素またはその中の状態の存在に基づいて親要素をターゲットにすることができる強力なCSSセレクターです。以前:has()が導入されましたが、CSSには子供に基づいて親を選択するネイティブの方法はありませんでした。次に、 :has() 、これはCSSのみを使用して可能になります。

`:has()` pseudo-class(parent selector)を説明する

使用方法:has()

:has() 、セレクターを引数として取得し、その内部に少なくとも1つの一致する要素を含む要素を一致させることで機能します。構文は次のように見えます:

親:has(子セレクター){
  / * styles */
}

たとえば、 <img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/175251076578590.jpeg" class="lazy" alt="`:has()` pseudo-class(parent selector)を説明する" >が含まれている場合にのみ<div>スタイルを作成したい場合は、次のことを書くことができます。

`:has()` pseudo-class(parent selector)を説明する
 div:has(img){
  ボーダー:2pxソリッドグリーン。
}

これにより、境界線は、内部のどこかに画像タグを直接含むdiv要素にのみ適用します。

また、複数のセレクターを内部にチェーンすることもできます:has()

`:has()` pseudo-class(parent selector)を説明する
 div:has(img、p.special){
  バックグラウンドカラー:#f0f0f0;
}

このルールは、 imgp両方を備えたDIVとspecialの両方のdivと一致します。


一般的なユースケース:has()

  • 条件付きのスタイリングコンテナ:たとえば、ビデオが含まれている場合にのみ、さまざまなパディングまたはマージンをカードレイアウトに適用します。
  • フォーム検証フィードバック:必要な入力が無効である場合のフォームグループの強調表示。
  • サブメナス付きのメニュー項目:リストがネストされているメニュー項目にのみ矢印またはインジケーターを適用します。

これが現実世界の例です:

 li:has(ul){
  位置:相対;
  パディング右:20px;
}

li:has(ul)::後{
  コンテンツ: &#39;▾&#39;;
  位置:絶対;
  右:5px;
}

これにより、サブメニュー( <ul></ul> )を含む任意のリスト項目にドロップダウンインジケーターが追加され、ナビゲーションが追加のマークアップを追加せずに直感的になります。


ブラウザのサポートと考慮事項

現在、 :has() 、Chrome(V105)、Safari(V15.4)、Edge(V106)などのほとんどの最新のブラウザーでサポートされています。 Firefoxのサポートは2024年後半の時点でまだ保留中です。そのため、幅広い視聴者をターゲットにしている場合は、互換性を確認することが重要です。

また、覚えておいてください:

  • :has() 、過度に使用される場合、または複雑なセレクターで使用するとパフォーマンスに影響を与える可能性があります。
  • JavaScriptと同じように動的ではありません。レンダリング時にのみ評価します。
  • サポートされていないブラウザにフォールバックが用意されていない限り、重要なレイアウトで使用しないでください。

生産で使用している場合は、機能の検出またはプログレッシブエンハンスメント戦略を検討して、サイトをどこにでも使用できるようにします。


基本的に、 :has() CSSに構造に基づいた条件付きスタイリングのための長いミッシングツールを提供します。まだ普遍的にサポートされていませんが、将来の使用を試して計画する価値は間違いありません。

以上が`:has()` pseudo-class(parent selector)を説明するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

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)

PHPを使用してソーシャル共有機能を構築する方法PHP共有インターフェイス統合プラクティス PHPを使用してソーシャル共有機能を構築する方法PHP共有インターフェイス統合プラクティス Jul 25, 2025 pm 08:51 PM

PHPでソーシャル共有機能を構築するコア方法は、各プラットフォームの要件を満たす共有リンクを動的に生成することです。 1.最初に現在のページまたは指定されたURLおよび記事情報を取得します。 2。urlencodeを使用してパラメーターをエンコードします。 3.各プラットフォームのプロトコルに従って、共有リンクをスプライスおよび生成します。 4.ユーザーがクリックして共有できるように、フロントエンドにリンクを表示します。 5.ページ上のOGタグを動的に生成して、コンテンツディスプレイの共有を最適化します。 6. XSS攻撃を防ぐために、必ずユーザーの入力を逃がしてください。この方法は、複雑な認証を必要とせず、メンテナンスコストが低く、ほとんどのコンテンツ共有ニーズに適しています。

PHPは、PHPコメントレビューとアンチブラシ戦略を収益化するためのブログコメントシステムを作成します PHPは、PHPコメントレビューとアンチブラシ戦略を収益化するためのブログコメントシステムを作成します Jul 25, 2025 pm 08:27 PM

1.コメントシステムの商業的価値を最大化するには、ネイティブ広告の正確な配信、ユーザー有料の付加価値サービス(写真のアップロード、トップアップコメントなど)、コメントの品質に基づくインセンティブメカニズム、コンプライアンス匿名データ洞察の収益化に影響を与える必要があります。 2。監査戦略では、コンテンツの品質評価によって補足されたコンテンツの階層的露出を実現するために、コメントの品質評価によって補足された、監査前の動的キーワードフィルタリングとユーザー報告メカニズムの組み合わせを採用する必要があります。 3.アンチブラシには、多層防御の構築が必要です。RecaptChav3センサーのレス検証、ハニーポットハニーポットフィールド認識ロボット、IPおよびタイムスタンプの頻度制限により、水の散水が防止され、コンテンツパターン認識が疑わしいコメントを示し、攻撃を継続的に繰り返します。

NGINXとPHPサービスの組み合わせを構成するためにMACOSを使用してPHP Nginx環境を構築する方法 NGINXとPHPサービスの組み合わせを構成するためにMACOSを使用してPHP Nginx環境を構築する方法 Jul 25, 2025 pm 08:24 PM

MAC環境の構築におけるHomebrewの中心的な役割は、ソフトウェアのインストールと管理を簡素化することです。 1. Homebrewは、依存関係を自動的に処理し、複雑な編集プロセスとインストールプロセスを簡単なコマンドにカプセル化します。 2。ソフトウェアのインストールの場所と構成の標準化を確保するために、統一されたソフトウェアパッケージエコシステムを提供します。 3.サービス管理機能を統合し、BrewServicesを介してサービスを簡単に開始および停止できます。 4.便利なソフトウェアのアップグレードとメンテナンス、およびシステムのセキュリティと機能を改善します。

一般的なCSSブラウザの矛盾とは何ですか? 一般的なCSSブラウザの矛盾とは何ですか? Jul 26, 2025 am 07:04 AM

さまざまなブラウザのCSS解析に違いがあるため、主にデフォルトのスタイルの違い、ボックスモデルの計算方法、フレックスボックスおよびグリッドレイアウトサポートレベル、および特定のCSS属性の一貫性のない動作を含む一貫性のないディスプレイ効果が得られます。 1.デフォルトのスタイル処理は一貫性がありません。解決策は、cssresetまたはremormize.cssを使用して初期スタイルを統合することです。 2。IEの古いバージョンのボックスモデル計算方法は異なります。 Box-Sizing:Border-Boxを統一された方法で使用することをお勧めします。 3. FlexBoxとグリッドは、エッジの場合や古いバージョンでは異なる機能を示します。より多くのテストを行い、Autoprefixerを使用します。 4.一部のCSS属性の動作は一貫性がありません。 Caniuseは相談して格下げする必要があります。

CSSのテキスト色を変更する方法は? CSSのテキスト色を変更する方法は? Jul 27, 2025 am 04:25 AM

CSSのテキスト色を変更するには、色属性を使用する必要があります。 1。色属性を使用して、テキストの前景色を設定し、色名(赤など)、16進コード(#FF0000など)、RGB値(RGB(255,0,0)など)、HSL値(HSL(0,100%、50%)など)、RGBAまたはHSLAを使用してRGBAまたはHSLA 2. H1からH6タイトル、パラグラフP、リンクAなどのテキストを含む任意の要素に色を適用できます(a:link、a:a:a:hover、a:active、div、spanなどの異なる状態の色設定に注意してください)。 3。最も

SCSSをCSSにコンパイルする方法は? SCSSをCSSにコンパイルする方法は? Jul 27, 2025 am 01:58 AM

installdartsassvianpmafterinstallingnode.jsusingnpminstall-gsass.2.compilescsstocsusingthecommandsassinput.scssoutput.css.3。 usesass - watchinput.scssoutput.csstoauto-compileonsave.4.watchentirefolderswithsass - watchscss:css.5.usepartialswith_prefixfo

アクセントカラーのプロパティとは何ですか? アクセントカラーのプロパティとは何ですか? Jul 26, 2025 am 09:25 AM

Accent-Colorは、CSSで使用される属性であり、チェックボックス、ラジオボタン、スライダーなどのフォーム要素のハイライト色をカスタマイズします。 1.チェックボックスの青いチェックマークを赤に変更するなど、フォームコントロールの選択した状態のデフォルト色を直接変更します。 2。サポートされている要素には、type = "チェックボックス"、type = "Radio"、type = "range"の入力ボックスが含まれます。 3.アクセントカラーを使用すると、複雑なカスタムスタイルと余分なDOM構造を回避し、ネイティブアクセシビリティを維持できます。 4.一般的に最新のブラウザによってサポートされており、古いブラウザを格下げする必要があります。 5. Accent-Colを設定します

さまざまなCSSユニットとそれらをいつ使用するかを説明してください さまざまなCSSユニットとそれらをいつ使用するかを説明してください Jul 27, 2025 am 04:24 AM

Web開発では、CSSユニットの選択は、設計要件とレスポンシブパフォーマンスに依存します。 1。ピクセル(PX)は、境界線やアイコンなどのサイズを修正するために使用されますが、応答性のある設計を助長しません。 2。パーセント(%)は、レイアウトのストリーミングに適した親コンテナに従って調整されますが、コンテキスト依存性に注意します。 3.EMは現在のフォントサイズに基づいており、REMは弾性フォントと統一されたテーマコントロールに適したルート要素フォントに基づいています。 4。ビューポートユニット(VW/VH/VMIN/VMAX)は、画面サイズに従って調整され、フルスクリーン要素と動的UIに適しています。 5。自動、継承、初期、およびその他の値を使用して、スタイルを自動的に計算、継承、またはリセットするために使用されます。これは、柔軟にレイアウトとスタイル管理に役立ちます。これらのユニットを合理的に使用すると、ページの柔軟性と応答性が向上する可能性があります。

See all articles