検索

擬似クラスと擬似要素は文書構造から独立しています。要素を取得する方法は、ID、classattributes などの基本的な要素の特性に基づいているのではなく、特別な state (擬似クラス) 内の要素、または要素内の特別なコンテンツ (擬似要素) に基づいています。 )。違いは以下にまとめられています:

CSS伪类 (Pseudo-classes):用于向某些选择器添加特殊的效果,即在元素当前静态样式的基础上添加特殊效果(一般都是动态效果),所以一个元素达到一个特定状态时,它可能得到一个伪类的样式;当状态改变时,它又会失去这个样式。
属性 説明
: アクティブ アクティブ化された要素にスタイルを追加
: フォーカス 要素にスタイルを追加します。キーボード入力フォーカス要素が追加されました スタイル
:hover マウスが要素上にあるときに要素にスタイルを追加します
:link 未訪問のリンクにスタイルを追加します
:visited 訪問済みリンクにスタイルを追加する
:first-child 要素の最初の子要素にスタイルを追加する
:lang 指定された lang 属性を持つ要素に追加する Style
备注:在 CSS 定义中,同一个元素的 :hover 必须位于 :link、:visited 之后才能生效,:active 必须位于 :hover 之后才能生效。

css 疑似要素 (疑似要素): 要素内の特定の内容を設定および操作する、特定のセレクターに特殊効果を設定するために使用されます。 操作レベルは疑似クラスよりも深いため、ダイナミクスは疑似クラスよりも悪いです。

プロパティ 説明
:first-letter テキストの最初の文字に特別なスタイルを追加します
:first-line 特別なスタイルを追加しますにテキストの最初の行 スタイル
:before 要素の前にコンテンツを追加します
:after 要素の後にコンテンツを追加します

<a href="http%20://www.php.cn/wiki/1550.html" target="_blank">w3c<code><a href="http://www.php.cn/wiki/1550.html" target="_blank">w3c</a> 对两者的定义:

  • CSS 伪类用于向某些选择器添加特殊的效果。

  • CSS 伪元素用于将特殊的效果添加到某些选择器。

区别

这里用伪类 :first-child 和伪元素 :first-letter 来进行比较。

p>i:first-child {color: red}<p>
    <i>first</i>
    <i>second</i></p>

 //伪类 :first-child 添加样式到第一个子元素
如果我们不使用伪类,而希望达到上述效果,可以这样做:

.first-child {color: red}<p>
    <i>first</i>
    <i>second</i></p>

即我们给第一个子元素添加一个类,然后定义这个类的样式。那么我们接着看看伪元素:

p::first-letter {color: red}<p>I am stephen lee.</p>

//伪元素 ::first-letter 添加样式到第一个字母
那么如果我们不使用伪元素,要达到上述效果,应该怎么做呢?

.first-letter {color: red}<p><span>I</span> am stephen lee.</p>

即我们给第一个字母添加一个 span,然后给 span 增加样式。
两者的区别已经出来了。那就是:

伪类的效果可以通过添加一个实际的类来达到,而伪元素的效果则需要通过添加一个实际的元素才能达到,这也是为什么他们一个称为伪类,一个称为伪元素的原因。

总结

伪元素和伪类之所以这么容易混淆,是因为他们的效果类似而且写法相仿,但实际上 css3 2 つの定義:

  • CSS 疑似クラスは、特定のセレクターに特殊効果を追加するために使用されます。

  • 🎜CSS 擬似要素は、特定のセレクターに特殊効果を追加するために使用されます。 🎜

違い

🎜ここでは疑似クラス :first-child と疑似要素 が使用されています: 比較する最初の文字。 🎜
:Pseudo-classes
::Pseudo-elements
🎜 //疑似クラス :first-child 最初の子要素にスタイルを追加します
疑似クラスを使用せず、上記の効果を実現したい場合は、次のようにすることができます。 🎜rrreee🎜 つまり、最初の子要素にクラスを追加し、このクラスのスタイルを定義します。次に、疑似要素を見てみましょう: 🎜rrreee🎜//疑似要素 ::first-letter 最初の文字にスタイルを追加します
したがって、疑似要素を使用しない場合は、上記の効果を達成するには、どうすればよいですか? 🎜rrreee🎜つまり、最初の文字に span を追加し、span にスタイルを追加します。
両者の違いが出てきました。つまり: 🎜
🎜🎜擬似クラスの効果は実際のクラスを追加することで実現できますが、擬似要素の効果は実際の要素を追加することで実現する必要があります。 . これが、一方が擬似クラスと呼ばれ、もう一方が擬似要素と呼ばれる理由です。 🎜🎜

まとめ

🎜 擬似要素と擬似クラスが混同しやすい理由は、その効果と記述方法が似ているためです。は似ていますが、実際には css3 この 2 つを区別するために、疑似クラスは 1 つのコロンで表現され、疑似要素は 2 つのコロンで表現されることが明確に規定されています。 🎜rrreee🎜しかし、互換性の問題により、それらのほとんどは依然として単一のコロンで統一されています。しかし、互換性の問題に関係なく、書くときは良い習慣を身につけ、この 2 つを区別するように最善を尽くす必要があります。 🎜

以上がCSS 疑似クラスと疑似要素の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
@keyframesや@mediaなど、 @rulesにはどの程度の特異性がありますか?@keyframesや@mediaなど、 @rulesにはどの程度の特異性がありますか?Apr 18, 2025 am 11:34 AM

先日、この質問がありました。私の最初の考えは、奇妙な質問です!特異性はセレクターに関するものであり、アットレールはセレクターではないので、...無関係ですか?

@mediaと@supportのクエリをネストできますか?@mediaと@supportのクエリをネストできますか?Apr 18, 2025 am 11:32 AM

はい、あなたはできます、そしてそれは本当にどの順序で重要ではありません。 CSSプリプロセッサは必要ありません。通常のCSSで動作します。

クイックガルプキャッシュバストクイックガルプキャッシュバストApr 18, 2025 am 11:23 AM

CSSやJavaScript(および画像とフォントなど)などのアセットにファーアウトキャッシュヘッダーを確実に設定する必要があります。それはブラウザを伝えます

CSSの品質と複雑さを監視するスタックを探してCSSの品質と複雑さを監視するスタックを探してApr 18, 2025 am 11:22 AM

多くの開発者は、CSSコードベースを維持する方法について書いていますが、そのコードベースの品質をどのように測定するかについて多くの人が書いていません。確かに、私たちは持っています

データリストは、値を強制せずに値を提案するためのものですデータリストは、値を強制せずに値を提案するためのものですApr 18, 2025 am 11:08 AM

短い任意のテキストを受け入れるために必要なフォームを持っていたことがありますか?名前などのように。それはまさにそのためのものです。たくさんあります

チューリッヒでのフロント会議チューリッヒでのフロント会議Apr 18, 2025 am 11:03 AM

私は、フロント会議のためにスイスのチューリッヒに向かうことにとても興奮しています(その名前とURLが大好きです!)。私はこれまでスイスに行ったことがないので、興奮しています

CloudFlareワーカーとのフルスタックサーバーレスアプリケーションを構築しますCloudFlareワーカーとのフルスタックサーバーレスアプリケーションを構築しますApr 18, 2025 am 10:58 AM

ソフトウェア開発における私のお気に入りの開発の1つは、サーバーレスの出現です。詳細に行き詰まる傾向がある開発者として

NUXTアプリケーションで動的ルートを作成しますNUXTアプリケーションで動的ルートを作成しますApr 18, 2025 am 10:53 AM

この投稿では、私が構築して展開して展開してネットライフを使用して、着信データの動的ルートを作成する方法を示すeコマースストアのデモを使用します。それはかなりです

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境