CSS子要素選択親要素の実装

CSS子要素選択親要素の実装

通常、CSS セレクターは上から下に選択し、親要素を介して子要素を選択します。では、子要素を介して親要素を選択することは可能ですか?

<ul>
    <li>
        <a href="#" class="active">1</a>
    </li>
    <li>
        <a href="#">2</a>
    </li>
</ul>

a.active を含む li を選択したい場合、どうすれば実現できますか? これまで学習してきた CSS では解決方法がないように思われますが、今日はこの機能を持つ CSS 疑似クラス: has() を紹介します。まだドラフト段階ですが、事前に学習しておくことは可能です。

li:has(> a.active){
    色:赤;
}

:has は包含を示すだけでなく、兄弟関係も示すことができます。

div:has(+ p){
    色:赤;
}

<div> タグの選択を示します。ただし、div タグの後には <p> が続く必要があります。 :notと一緒に使うこともできます

記事:not(:has(a)){
    色:赤;
}

<a> を含まない <article> タグを表します。ここで、:not と :has の順序に注意してください。順序が異なると意味も異なります。

記事:has(:not(a)){
    色:赤;
}

<a>以外の<article>タグが含まれていることを示します

実際、先ほど説明した :focus-within も、子要素を通じて親要素を選択する疑似クラスですが、条件は子要素がフォーカスを取得するかどうかのみであり、 :has はより柔軟で強力です。

フォーム:フォーカス内{
    背景色:黒;
}

:has で実装すると、次のように記述できます。

フォーム:has(:focus){
    背景色:黒;
}

親要素のCSS子要素選択の実装に関するこの記事はこれで終わりです。より関連性の高い親要素のCSS子要素選択については、123WORDPRESS.COMの過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

<<:  hasLayout によって発生する CSS バグの一覧

>>:  JS を使用してファイルを操作する (FileReader は --node の fs を読み取ります)

推薦する

Vue3とTypeScriptを組み合わせたプロジェクト開発の実践の概要

目次概要1. コンポジションAPI 1. ref と reactive の違いは何ですか? 2. 周...

MySQL の FIND_IN_SET() と IN の違いを簡単に分析します

以前、あるプロジェクトでMysql FIND_IN_SET関数を使用したことがありますが、非常に便利...

SpringBootはActiviti7実装コードを統合する

Activiti7 の正式リリース以降、SpringBoot2.x との統合開発を全面的にサポートし...

iframeを使用してページを呼び出すとページがキャッシュされるかどうかの簡単な分析

最近、毎日変更されるページを iframe を使用して呼び出す必要があるプロジェクトがあります。その...

MySQL シリーズ 8 MySQL サーバー変数

チュートリアルシリーズMySQL シリーズ: MySQL リレーショナル データベースの基本概念My...

MySQLステートメントを監視する方法の詳細な説明

クイックリーディングSQL ステートメントを監視する必要があるのはなぜか、監視方法と監視手段について...

Windows 上の MySQL バージョン 5.7 でエンコードを UTF-8 に変更する方法

序文MySQLの勉強を始めたばかりで、公式サイトから最新バージョン5.7.14をダウンロードしました...

nginx がアップストリーム アドレスにジャンプしない問題の解決方法

序文今日、nginx で非常に奇妙な問題に遭遇しました。フロントエンドの tomcat がページにジ...

Dockerコンテナのホスト間通信におけるダイレクトルーティングの詳細な説明

概要Docker 自体の現在のデフォルト ネットワークについては、単一ホスト上の異なる Docker...

WeChatミニプログラムユーザー認証による携帯電話番号の取得(getPhoneNumber)

序文ミニプログラムには、ユーザーを取得するための非常に便利な API があり、getPhoneNum...

jsは水平および垂直スライダーを実現します

最近、練習プロジェクトをしていたときにスライダーを使う必要があったので、調べてみました。まず、水平ス...

JavaScript のプロトタイプとプロトタイプチェーンの詳細な説明

目次プロトタイプチェーン図プロトタイピングに必須の知識プロトタイププロパティ(プロトタイプを表示) ...

MySQL でレプリケーション フィルターを動的に変更する方法

MySQLはレプリケーションフィルターを動的に変更します今日遭遇した問題についてお話しします。今日は...

Ubuntuがネットワークに接続できない場合の解決策

仮想マシン内の Ubuntu がネットワークに接続できない場合の効果的な解決策: 1. Ubuntu...

Linuxで中断されたシステムを呼び出す方法

序文低速システム コールとは、決して戻らない可能性があり、プロセスを永久にブロックするシステム コー...