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 を読み取ります)

推薦する

Nginx におけるサーバーとロケーションのマッチングロジックの詳細な理解

サーバーマッチングロジックNginx は、リクエストを実行するサーバー ブロックを決定するときに、サ...

DockerにrockerChatをインストールし、チャットルームを設定するための詳細な手順

包括的なドキュメントgithubアドレスhttps://github.com/RocketChat/...

vuexプロジェクトにおけるログインステータス管理の実践プロセス

目次道具:ログインシナリオ:練習する:シナリオ1: 思考と実践シナリオ2: 思考と実践要約する道具:...

Linux 上のカラフルな猫

Linux システムを使用したことがある友人なら、 catコマンドを使用したことがあるはずです。もち...

MySQL パーティションテーブルの正しい使用方法

MySQL パーティションテーブルの概要数億、あるいは数十億ものレコードを格納するテーブルに遭遇する...

vue ルーティング ビュー router-view のネストされたジャンプの実装

目次1. app.vueページを修正する2. ログインページを作成する (/views/login/...

VUEはG2チャートを使用した実装を導入します

目次G2チャートについて使用テンプレートで使用される完全なコード (棒グラフ)世界地図を追加するG2...

MySQLdump コマンドを使用した MySQL データの移行

このソリューションの利点はシンプルさと使いやすさですが、欠点はダウンタイムが長くなることです。 した...

両端揃えレイアウトを実現する CSS 列のサンプルコード

1. 堂々巡りいろいろ試行錯誤した結果、均等割り付けレイアウトを実現する最も簡単な方法は CSS ...

Vue3 における provide と inject の使用法と原則

序文:親コンポーネントと子コンポーネント間でデータを渡す場合、通常は props と emittin...

dockerでlnmp環境を構築する方法

プロジェクトディレクトリを作成する php ディレクトリをコピーする次のプロジェクト構造を作成します...

XHTML 1.0 リファレンス

機能別に並べ替えNN: このタグをサポートする Netscape の以前のバージョンを示しますIE:...

Windows Server 2016 に MySQL 5.7.19 の解凍バージョンをインストールするための詳細なチュートリアル

MySQL 5.7.19 winx64 解凍版のインストールチュートリアルを収録しています。具体的な...

VMware に CentOS7 をインストールし (静的 IP アドレスを設定)、Docker コンテナ経由で mySql データベースをインストールする (非常に詳細なチュートリアル)

2 年生から、これらのインストールと設定の仕方を尋ねられました。簡単なチュートリアルを作成し、ここ...

jsは古典的なマインスイーパゲームを実装します

この記事の例では、古典的なマインスイーパゲームを実装するためのjsの具体的なコードを参考までに共有し...