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

推薦する

Windows 10 での MySQL 8.0.11 圧縮バージョンのインストール チュートリアル

この記事では、MySQL 8.0.11圧縮版のインストールチュートリアルを参考までに紹介します。具体...

QQtabBar による CSS 命名仕様 BEM の詳細な紹介

QQtabBar の BEMまず、BEMとはどういう意味でしょうか? BEM は、ブロック、要素、修...

ウェブデザインにおける階層化インターフェースの設計経験

多くのネットユーザーは、なぜ自分のウェブサイトはいつも色の問題を抱えていて、いつも地味に見え、注目を...

Echarts は 1 つのグラフ内で異なる X 軸を切り替える機能を実装します (サンプル コード)

レンダリング下の画像のような効果を実現したい場合は、読み続けてアニメーション画像に直接進んでください...

Dockerイメージの作成、アップロード、プル、デプロイを理解するための記事

目次1. 画像1. 鏡とは何ですか? 2. 画像の構成と目的(1) Dockerファイル(2)スクラ...

Linux yum コマンドを使用して mysql8.0 をインストールする方法の詳細なチュートリアル

1. 設置前によく掃除する rpm -pa | grep mysql または rpm -qa | g...

Vueはメニューナビゲーションを実装するためにelement-uiを使用します

この記事では、Element-uiを使用してメニューナビゲーションを実装するVueの具体的なコードを...

CSS スタイルで一般的なグラフィック効果を示すサンプルコード

一般的な基本グラフィックと私が遭遇するいくつかの小さなアイコンについて簡単に説明します。以下は CS...

W3C が推奨するモバイル Web マークアップ言語 XHTML Basic 1.1

W3C は最近、「 XHTML Basic1.1 」と「 Mobile Web Best Prac...

Linux lsof コマンドの使用方法の詳細な説明

lsof (開いているファイルのリスト) は、プロセスによって開かれたファイルを表示するツールです。...

MySQLはgroup_concat()関数に基づいて複数のデータ行を結合します

非常に便利な機能group_concat() について、マニュアルには次のように記載されています: ...

ES6のシンボルデータ型について詳しく説明します

目次シンボルデータタイプシンボルが表示される理由シンボルの特徴シンボルの応用rbオブジェクトにupメ...

Xshell を使用して VMware 上の Linux 仮想マシンに接続する (グラフィック手順)

はじめに: 最近 Hadoop プラットフォームの構築を勉強し始めたので、ローカルマシンに VMwa...

メタビューポートはiPhoneでウェブページをフルスクリーン表示コントロールします

困り果てて、ふと、私がよく行くSinaのタッチスクリーン版はどうやって作られているのだろう?と考えま...

Vueカスタム命令の詳細な説明

目次Vueカスタムディレクティブカスタムディレクティブフック機能出力関連属性アプリケーション例要約す...