新しい 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 はツリー構造テーブルと遅延読み込みを実装します

推薦する

Nginxはリバースプロキシを使用して負荷分散プロセス分析を実装します

導入dockerコンテナとdocker-composeに基づいて、Linux環境でのdockerの基...

Linux 上の MYSQL 5.7 でルート パスワードを取得する際の問題 (テスト済み、利用可能)

目次1. --skip-grant-tables 経由で取得する1.1 my.conf を変更し、新...

Node.js における非同期プログラミングの知識ポイントの詳細な説明

導入JavaScript はデフォルトでシングルスレッドであるため、コードは並列実行するための新しい...

ウェブデザインに必須のツール: Firefox Web Developer プラグイン CSS ツールセットのチュートリアル

プラグインは Firefox ブラウザにインストールされます。 Web Developer プラグイ...

角丸四角形の HTML+CSS 実装コード

退屈していたので、突然角丸四角形の実装を思いつきました。しかし、私たちはこの話題についてあまりにも長...

MySQLデータベースの追加、削除、変更操作の詳細な説明

データの挿入テーブル名(列名1、列名2、列名3)の値(値1、値2、値3)に挿入します。ユーザーに(u...

Maven で tomcat8-maven-plugin プラグインを使用する詳細なチュートリアル

オンラインで多くの記事を検索しましたが、解決策は見つかりませんでした。次のように、tomcat7-m...

Windows 64 ビットに MySQL を再インストールするチュートリアル (Zip バージョン、解凍バージョンの MySQL インストール)

MySQLをアンインストールする1. コントロールパネルで、MySQLのすべてのコンポーネントをア...

Docker の win ping 失敗コンテナ回避ガイド

win docker-desktopを使ってコンテナ開発に接続し、ネットワーク上で色々試してみたいと...

HTML テーブル セルの幅と高さを設定する方法

Web ページを作成するときに、テーブルの幅が揃っていないという問題に遭遇することがよくあります。 ...

HTML での Li タグの使用例

タイトルを左に、日付を右に揃えたいのですが、日付の範囲に float:right を直接追加すると、...

MySQL マルチインスタンス インストール ブート自動起動サービス設定プロセス

1.MySQLの複数インスタンスMySQL マルチインスタンスとは、1 台以上のマシン上で複数の M...

CSS で要素を中央揃えにする N 通りの方法

目次序文インライン要素の中央揃えテキストを垂直に中央揃え要素を水平方向に中央揃えにするブロックレベル...

Linux の操作とメンテナンスの基本システムディスク管理チュートリアル

1. ディスクパーティション: 2. fdiskパーティションディスクが2 TB未満の場合はfdis...

見落とされがちなMETAタグの特殊効果(ページ遷移効果)

Web デザインで js を使用すると、多くのページ効果を実現できますが、HTML タグの META...