次の抜粋は、ティファニー・B・ブラウンによって書かれた本「CSSマスター」からのものです。この本は世界中の店舗で入手できます。また、ここで電子書籍バージョンを購入することもできます。
CSS特異性により、最終的に要素に適用されるスタイル宣言が決定されます。 WildCardセレクター(*)の特異性が最も低く、IDセレクターの特異性が最も高くなっています。子孫セレクター(例:p img)とサブセレクター(例:.panel> h2)は、型セレクター(p、img、またはh1など)よりも具体的です。
一見すると、正確な特異性値の計算が難しいと思われます。セレクターレベル3に記載されているように、
が必要です
- 統計セレクター内のIDセレクターの数(= a)
- 統計セレクターのクラスセレクターの数、属性セレクター、および擬似クラスの数(= b)
- 統計セレクターのタイプセレクターと擬似要素の数(= c)
- ワイルドカードセレクターを無視してください
これらのa、b、およびc値を組み合わせて、最終的な特定の値を形成します。たとえば、IDセレクター#FOOの特異性は1,0,0です。属性セレクター([type = email])とクラスセレクター(例えば.chart)の特異性は0,1,0です。擬似クラス(例:初代、例えば、chart:first-child)を追加すると、特異性が0,2,0になります。ただし、単純なタイプまたは要素セレクター(H1またはPなど)を使用すると、特異性が0,0,1のみになります。
注:特異性を計算
Keegan Streetの特異性計算機とJoshua PeekのCSSは、セレクターの特異性の学習と計算ヘルプを説明します。
もちろん、複雑なセレクターと組み合わせセレクターは、より高い特異性値を生成します。例を見てみましょう。次のCSSを検討してください:
<code>ul#story-list > .book-review { color: #0c0; } #story-list > .book-review { color: #f60; }</code>
これらの2つのルールセットは似ていますが、同じではありません。最初のセレクター、UL#STORY-LIST&GT; .BookReviewには、型セレクター(UL)、IDセレクター(#Story-List)、およびクラスセレクター(.BookReview)が含まれています。その特異性値は1,1,1です。 2番目のセレクター#Story-List&GT;その特異性値は1,1,0です。 #Story-List&GT; 。
:linkまたは:nivalidなどのpseudoclassesは、クラスセレクターと同じレベルの特異性を持っています。 a:linkとa.externalの特異性値は両方とも0,1,1です。同様に、:: :: befforeおよび:: aftherなどの擬似要素は、タイプまたは要素セレクターと同じくらい具体的です。 2つのセレクターの特異性が同じ場合、カスケードが有効になります。例は次のとおりです。
<code>a:link { color: #369; } a.external { color: #f60; }</code>このCSSを適用すると、.Externalクラスを適用するリンクを除き、すべてのリンクはスレートブルーになります。これらのリンクはオレンジに変更されます。
特異性が低いことは、セレクターの拡散を防ぐのに役立ちます。つまり、セレクターの特異性と長さが時間とともに増加する傾向です。これは通常、チームに新しい開発者を追加したり、ウェブサイトに新しいコンテンツフォームを追加したりすると発生します。セレクターの拡散は、長期的なメンテナンスの困難にもつながる可能性があります。より具体的なセレクターを使用して他のルールセットを上書きするか、コードをリファクタリングする必要があります。セレクターが長くなると、CSSファイルの重みも増加します。
第2章で特異性を低く保つための戦略について説明します。
結論
この章を読んだ後、CSSセレクターをよく理解する必要があります。具体的には、方法を知っておく必要がありますセレクターを使用して特定の要素、擬似要素、および擬似クラスにCSSを適用します
- 擬似要素と擬似クラスの違いを理解してください
- セレクターレベル3および4仕様で導入された新しい擬似クラスを使用してください
- 計算特異性
- 次の章では、保守可能で拡張可能なCSSを書くためのゴールデンルールのいくつかを紹介します。
CSSセレクターと特異性(FAQ)
に関するよくある質問Web開発におけるCSS特異性の重要性は何ですか?
CSS特異性は、ブラウザが適用するCSSルールを決定するため、Web開発の重要な概念です。複数のCSSルールを要素に適用できる場合、ブラウザは特定のルールに従って使用するルールを決定します。 CSSの特異性を理解することは、開発者がより効率的で効率的なCSSコードを書き、不必要なオーバーライドを回避し、CSSの問題をより効果的にトラブルシューティングするのに役立ちます。
CSS特異性を計算する方法は?
CSS特異性の計算は、CSSルールで使用されるさまざまなタイプのセレクターに基づいています。各タイプのセレクターの特異性値は異なります。インラインスタイルの特異性が最も高く、その後にIDセレクター、クラスセレクター、属性セレクター、および擬似クラスが続き、最後にセレクターと擬似エレメントを型が付いています。 CSSルールの特異性は、そのセレクター固有の値の合計です。
CSS特異性の概念を例で説明できますか?
例を考えてみましょう。クラスセレクター.class1を使用したCSSルールとIDセレクター#id1を使用した別のルールがあるとします。これらの2つのルールを同じ要素に適用できる場合、IDセレクターはクラスセレクターよりも特異性が高いため、IDセレクターを備えたルールが適用されます。
2つのCSSルールが同じ特異性を持っている場合はどうなりますか?
2つのCSSルールが同じ特異性を持っている場合、CSSコードに表示される最後のルールが適用されます。これは、CSSが同じ特異性を持つルールを扱う際に「最後のルール勝利」戦略に従うためです。
CSS特異性をカバーする方法は?
CSSルールの特異性を高めることにより、CSSの特異性をオーバーライドできます。これは、ルールにより具体的なセレクターを追加することで実行できます。 CSS特異性をオーバーライドする別の方法は、重要なルールを使用することです。ただし、CSSコードを管理してデバッグするのがより困難になるため、可能な限り重要なことを避ける必要があります。
CSS特異性における相続の役割は何ですか?
継承は、特定のタイプの属性が親要素からその子要素に自動的に渡されるCSSの機能です。ただし、継承されたスタイルは特異性が最も低く、要素に適用される直接的なスタイルによって簡単に上書きできます。
ワイルドカードセレクターはCSS特異性にどのように影響しますか?
WildCardセレクター(*)は、CSS特異性に影響を与えません。これは、その特異性値が0,0,0,0であることを意味します。したがって、同じルールで使用される他のセレクターは、ワイルドカードセレクターをオーバーライドします。
CSSの擬似要素の特異性は何ですか?
CSSの擬似要素の特異性は0,0,0,1です。これは、タイプセレクター(Div、Pなど)と同じ特異性を持ち、クラスセレクター、IDセレクター、インラインスタイルによってオーバーライドされることを意味します。
:not()擬似クラスはCSS特異性にどのように影響しますか?
:not()cssの擬似クラスは、セレクターの特異性を向上させません。代わりに、特定の計算は、not()関数に渡されるパラメーターに基づいています。たとえば、in:not(.class1)、特異性は.class1と同じです。
単一のCSSルールで複数のセレクターを使用できますか?特異性にどのように影響しますか?
はい、単一のCSSルールで複数のセレクターを使用できます。このようなルールの特異性は、すべてのセレクターの特異性の合計です。たとえば、#id1.class1では、特異性は#id1および.class1特異性の合計です。
以上がCSSセレクター:特異性の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

CSSグリッドは、複雑で応答性の高いWebレイアウトを作成するための強力なツールです。設計を簡素化し、アクセシビリティを向上させ、古い方法よりも多くの制御を提供します。

記事では、レスポンシブデザインにおけるスペースの効率的なアラインメントと分布のためのレイアウト方法であるCSS FlexBoxについて説明します。 FlexBoxの使用量を説明し、CSSグリッドと比較し、ブラウザのサポートを詳細に説明します。

この記事では、ビューポートメタタグ、柔軟なグリッド、流体メディア、メディアクエリ、相対ユニットなど、CSSを使用してレスポンシブWebサイトを作成するための手法について説明します。また、CSSグリッドとフレックスボックスを使用してカバーし、CSSフレームワークを推奨しています

この記事では、要素の寸法の計算方法を制御するCSSボックスサイズのプロパティについて説明します。コンテンツボックス、ボーダーボックス、パディングボックスなどの値と、レイアウト設計とフォームアライメントへの影響について説明します。

記事では、CSS、キープロパティ、およびJavaScriptとの組み合わせを使用してアニメーションの作成について説明します。主な問題は、ブラウザの互換性です。

記事では、3D変換、主要なプロパティ、ブラウザの互換性、およびWebプロジェクトのパフォーマンスに関する考慮事項にCSSを使用して説明します。

この記事では、CSSグラデーション(線形、放射状、繰り返し)を使用して、ウェブサイトのビジュアルを強化し、深さ、フォーカス、および現代の美学を追加します。

記事では、CSSの擬似要素、HTMLスタイリングの強化における使用、および擬似クラスとの違いについて説明します。実用的な例を提供します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

Dreamweaver Mac版
ビジュアル Web 開発ツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。
