9
a:hover

なぜ「疑似クラス」と呼ばれるのですか?

「クラス」の概念との類似点はありますか?

4

5 に答える 5

6

CSS 用語では、クラスはピリオドで始まるセレクターです。

.foo { ... }

という形で使われます。

<div class="foo">

この「クラス」の使用は、オブジェクト指向の用語から借用するというよりも、「共通の特性を持ち、種類または品質によって他のものと区別されるもののセットまたはカテゴリ」という意味で使用されます。

疑似クラスは、ユーザー エージェントがいつ、および/またはどのくらいのコンテンツが修飾されるかを定義するため、「実際のクラスとは異なります」( :hover:activeなど)。

于 2009-08-15T07:54:01.257 に答える
4

あなたがそれを作っていないので、それは疑似です。ブラウザがそれを「作成」し、その状態にあるときにリンクの外観を変更するように設定できます。

于 2009-08-15T07:51:59.433 に答える
2

w3c CSS2 セレクター仕様から:

CSS は、疑似要素と疑似クラスの概念を導入して、ドキュメント ツリーの外側にある情報に基づいて書式設定できるようにします。

  • 疑似要素は、ドキュメント言語によって指定されたものを超えて、ドキュメント ツリーに関する抽象化を作成します。たとえば、ドキュメント言語は、要素のコンテンツの最初の文字または最初の行にアクセスするメカニズムを提供しません。CSS 疑似要素を使用すると、スタイル シートの設計者は、他の方法ではアクセスできないこの情報を参照できます。疑似要素は、スタイル シートの設計者に、ソース ドキュメントに存在しないコンテンツにスタイルを割り当てる方法も提供します (たとえば、:before および :after 疑似要素は、生成されたコンテンツへのアクセスを提供します)。

  • 疑似クラスは、名前、属性、または内容以外の特性に基づいて要素を分類します。原則として、文書ツリーから推測できない特性。疑似クラスは、ユーザーがドキュメントと対話している間に要素が疑似クラスを取得または失う可能性があるという意味で、動的である場合があります。例外は、文書ツリーから推測できる ':first-child' と、場合によっては文書ツリーから推測できる ':lang()' です。

基本的に、疑似クラスはスタイルをアタッチできるものですが、HTML に自分で出力することはありません。また、UI とのユーザー インタラクションに応じて、疑似クラスが取得されたり失われたりする可能性があります。

于 2009-08-15T08:13:26.850 に答える
1

CSS2 / 3では、より洗練された要素ルール(input [type = checkbox]など)が可能になっているため、疑似クラスという用語はますます時代遅れになっているようです。

ただし、疑似クラスは、ユーザーの操作によって(多かれ少なかれ)確実に変化する唯一のCSS識別子です。属性セレクターなどを使用すると、ほとんどのブラウザーはページの読み込み時にすべての要素の状態を使用する傾向があり、加えられた変更はすべて無視されます。ただし、疑似クラスでは、疑似クラスがtrue(またはuntrue)になると、実際にはスタイルが変更されます。

したがって、その特定の定義を念頭に置いて、ルールは同じ「状態」を共有するすべての要素に適用され、したがって「クラス」と見なすことができるため、クラスですが、真の属性定義クラスではないため、疑似です。また、「クラス」は、ページが表示されるときにいつでも真である場合とそうでない場合があるためです。

また、特定のUIベースの疑似クラス(特に考えている:hover)では、一度に1つの要素だけが実際にその「クラス」を持つことができるため、ほとんど疑似IDであることに注意するのも興味深いと思います。私の上記の定義に基づいています。

于 2009-08-15T08:48:08.447 に答える