新しい CSS :where および :is 疑似クラス関数とは何ですか?

新しい CSS :where および :is 疑似クラス関数とは何ですか?

:is と :where とは何ですか?

:is():where()は、セレクターを作成するときに短縮したり繰り返しを停止したりするのに役立つ疑似関数です。これらはすべてセレクターの配列 (id、class、tag など) を受け入れ、そのリストで選択できる任意の要素を選択します。

これは、セレクターを短く書くのに役立つという点ではおそらくあまり意味がないので:where() 和:is()を使用してみましょう。

:is と :where の使い方は?

:where()はこのような問題を解決するのに役立ちます

.btn span > a:hover、
#ヘッダー span > a:hover,
#フッター span > a:hover {
  ...;
}

こんな感じになる

:where(.btn, #header, #footer) span > a:hover {
  ...;
} 

そして:is()はこの例に同じものを追加するのに役立ちます

is(.btn, #header, #footer) span > a:hover {
  ...;
}

:isと:whereの違いは何ですか?

:where():is()は見た目も機能も同じですが、覚えておくべき違いが 1 つあります。それは、特異性が異なるということです。:where()は単純で、常に詳細度は 0 ですが、 :is()セレクターの中で最も詳細度が高くなります。

CSS の特異性とは (簡単に言うと) 何ですか?

CSS には 4 つの詳細度レベルがあります。各レベルまたはカテゴリには異なるスコアがあり、すべてのスコアを合計してセレクターの特異性を計算できます。

セレクターの数が最も多い要素にはそのスタイルが適用されます。そのため、CSS を記述してもスタイルが適用されず、開発者ツールで取り消し線が引かれて表示される場合があります。

特異度評価スコア

  • ID - 特異度スコアは100
  • インラインスタイル – 詳細度スコアは 1000
  • 要素と疑似クラス – 詳細度スコア 1
  • クラス、疑似クラス、属性 – 詳細度スコアは 10

例えば

ボタン.btn {
  色: 赤;
}
.btn{
  色: 緑;
}
.btn = 10

ボタン = 1 + 10 = 11

<button>タグに.btnクラスを配置すると、 button.btnセレクターのスコアが.btnセレクターよりも高いため、テキストが赤に変わります。

ご覧のとおり、疑似クラスには 2 つの異なるレベルの詳細度があります。これは、使用する疑似クラスとその使用方法に応じて、異なる疑似クラスに異なるレベルの詳細度を持たせることができるためです。

新しく追加された CSS :where および :is 疑似クラス関数についての説明はこれで終わりです。CSS :where および :is 疑似クラス関数に関するより詳しい内容については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  少なくとも7日間連続して注文を行ったユーザーに対するSQLクエリ

>>:  Vue elementUI はツリー構造テーブルと遅延読み込みを実装します

推薦する

MySQL 8.0.2 オフラインインストールと設定方法のグラフィックチュートリアル

MySQL_8.0.2のオフラインインストール方法は参考までに。具体的な内容は以下のとおりです。次の...

Mysql 5.6.37 winx64 インストール デュアル バージョン mysql ノート

マシンに MySQL バージョン 5.0 がすでに存在する場合は、最新バージョンの MySQL のイ...

フロントエンドの上級者向けコースでは、JavaScript のストレージ機能の使い方を学習します。

目次序文背景実施計画の考え方js ストレージ機能ソリューション設計やっと要約する序文どの SaaS ...

SQL インジェクションのある Web サイトを見つける方法 (必読)

方法 1: Google の詳細検索を使用します。たとえば、次に示すように.asp?id=9などの ...

Tomcat 初回展開 Web プロジェクト プロセス図

独自のWebプロジェクトをtomcatディレクトリの下のwebappsディレクトリに配置します。 R...

Nginx でバージョン番号を隠したり偽造したりする方法

1. デフォルトでアクセスするには、curl コマンドを使用します。 # curl -I http:...

Node.js を使用して C# のデータ テーブル エンティティ クラス生成ツールを作成する方法

Microsoft は T4 テンプレートを提供していますが、使用するのが非常に難しいと思います。ス...

マークアップ言語 - 簡略化されたタグ

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

jsはFileReaderを使用してローカルファイルまたはBLOBを読み取ります

目次FileReaderはローカルファイルまたはBLOBを読み取ります1. FileReaderの使...

Linuxでテキスト比較を実現するコツを教えます

序文コードを書く過程で、必然的にコードに何らかの変更を加えることになります。しかし、変更を加えるとき...

MySQL は正常に起動するがポートをリッスンしない場合の解決策

問題の説明MySQL が正常に起動しました。以下に示すように、 ps -ef |grep mysql...

Dockerコマンドの学習を1つの記事にまとめる

目次導入ミラーリポジトリログイン引く押す検索ローカル画像管理画像rmiタグ建てる歴史保存負荷輸入コン...

MySQLのトランザクション特性とレベル原則の分析

1. トランザクションとは何ですか?データベース トランザクション (略称: トランザクション) は...

JavaScript のクロージャの問題の詳細な説明

クロージャは、純粋関数型プログラミング言語の伝統的な機能の 1 つです。クロージャをコア言語構造の不...

MySQLセグメンテーション関数substring()の具体的な使用法

MySQL には、主に left()、right()、substring()、substring_i...