CSS3の擬似クラスと擬似要素の違いは何ですか?
違い: 1. 疑似クラスは、既存の要素が特定の状態にあるときに対応するスタイルを追加するために使用されますが、疑似要素は、DOM ツリーにないいくつかの要素を作成し、スタイルを追加するために使用されます。 2. 疑似要素はドキュメント ツリーの外に要素を作成しますが、疑似クラスは作成しません; 3. 疑似要素は二重コロン「::」で表され、疑似クラスは単一コロン「:」で表されます。
このチュートリアルの動作環境: Windows 7 システム、CSS3&&HTML5 バージョン、Dell G3 コンピューター。
擬似クラスと擬似要素とは
「擬似」という言葉を聞いて何を思い浮かべますか? ? 「偽」、「汪兆銘の疑似政府」、「存在しない」...
疑似クラス: 既存の要素が特定の状態 (スライド、クリック、この状態はユーザーの行動に基づいて動的に変化します。私の理解では、それ自体は存在しない状態であり、特定の状況 (スライド、クリック) でのみトリガーされるということですが、CSS を使用してこの状態のオブジェクトを変更できます。例: ユーザーが指定された要素の上にマウスを移動したとき、:hover を使用して要素の状態を説明できます。これは一般的な CSS に似ており、既存の要素にスタイルを追加できますが、スタイルを追加できない状態でのみ使用できます。要素はスタイルを追加するため、疑似クラスと呼ばれます。
擬似要素: DOM ツリーにないいくつかの要素を作成し、それらにスタイルを追加するために使用されます。たとえば、:before を使用して要素の前にテキストを追加し、そのテキストにスタイルを追加できます。ユーザーにはテキストが表示されますが、実際には DOM ドキュメント内にありません。
疑似クラスと疑似要素の違い:
次の例を参照してください:
例 1:
<ul> <li>第一列</li> <li>第二列</li> </ul>
最初の列にスタイルを追加したい場合は、次の 2 つの方法でそれを行うことができます:
(1) 最初の列にクラスを追加し、スタイルを定義します。クラス:
<ul> <li class="first-item">第一列</li> <li>第二列</li></ul> </ul> .first-item{color:orange;}
(2) クラスを追加する必要がない場合は、first-child pseudo-class を設定することで最初の
<ul> <li>第一个</li> <li>第二个</li> </ul> li:first-child{color:orage;}
例 2:
<p>Hello World, and wish you have a good day!</p>
段落の最初の文字にスタイルを追加する場合は、次の操作を実行できます:
(1) 最初の文字 要素をラップし、span のスタイルを設定します:
<p> <span class="first">H</span>ello World, and wish you have a good day! </p> .first{color:red;}
(2) 要素が作成されていない場合は、P を設定できます。 要素に1文字目の疑似要素を追加し、スタイルを追加します。このとき、仮想的なspan要素が作成され、そこにスタイルが追加されているように見えますが、実際にはこのspan要素は、 DOM 上記の例から、疑似クラスの操作オブジェクトはドキュメント ツリー内の既存の要素であるのに対し、疑似要素はドキュメント ツリーの外に要素を作成することがわかります。したがって、疑似クラスと疑似要素の違いは、ドキュメント ツリーの外に要素が作成されるかどうかです。 疑似要素に単一コロンまたは二重コロンを使用しますか? css3 仕様では、疑似クラスと疑似要素を区別するために、疑似要素を表すために二重コロン (::) を使用する必要があります。たとえば、:: のような疑似要素です。 before と ::after は 2 つのコロンを使用し、コロン (::)、:hover、および :active 疑似クラスは単一のコロン (:) を使用します。 IE8 より前の一部のブラウザを除き、ほとんどのブラウザは疑似要素の二重コロン (::) 表現方法をサポートしています。 ただし、二重コロン (::) を使用する必要がある ::backdrop などのいくつかの擬似要素を除いて、ほとんどの擬似要素は単一コロンと二重コロンの記述 (::after など) をサポートしています。のように書くことができます:after.run。 w3c 標準では、CSS3 標準では疑似要素を二重コロンで記述する必要があるものの、単一コロンの記述も引き続きサポートされていると規定されています。下位互換性を維持するために、現時点では引き続き単一コロンの記述方法を使用することをお勧めします。 一般的に使用される疑似クラスは次のとおりです。 :active は、アクティブ化されている (指定された状態と一致する) 要素を選択します。 :hover は、アクティブ化されている要素を選択します。マウスがホバーしている要素 要素 (指定されたステータスと一致する) :link 訪問されていない要素を選択します (指定されたステータスと一致します) :visited 訪問された要素を選択します ( :first-child は、親要素の最初の子要素である要素を選択します。 :lang(value) は、指定された lang 属性を持つ要素を選択します。 :focus キーボード入力フォーカスを選択します。 Elements :enable 有効な各要素を選択します。 :disable 無効な各要素を選択します。 :checked 選択された各要素を選択します。 :target は現在のアンカー要素を選択します。 :first-of-type は、親要素の特定のタイプの最初の子要素である要素を選択します。 :last-of- type は、親要素の特定のタイプの最後の子要素である要素を選択します。 :only-of-type は、親要素の特定のタイプの唯一の子要素である要素を選択します : nth-of-type(n) 親要素の特定の型の n 番目の子要素である要素を選択します。 :nth-last-of-type(n) 要素を選択します。は、親要素の最後から 2 番目の子要素です。特定の型の n 要素です。 :only-child は、親要素の唯一の子要素である要素を選択します。 :last-child は、親要素の最後の要素である要素を選択します。 :nth-child(n) は、親要素の n 番目の子要素である要素を選択します :nth-last-child(n) 親要素の下から n 番目の子要素を選択します :empty 子要素を持たない要素を選択します :in -range select 値が指定範囲内の要素を選択します :out-of-range 値が指定範囲外の要素を選択します :invalid 値が無効な要素を選択します :valid 有効な値を満たす要素を選択します。 #:not(selector) selector を満たさない要素を選択します。 一般的に使用される疑似要素 ::first- line 指定した要素の最初の行を選択します ::after 指定した要素のコンテンツの前にコンテンツを挿入します ::before 指定した要素のコンテンツの後にコンテンツを挿入します ::selection 指定された要素でユーザーが選択したコンテンツを選択します (学習ビデオ共有: css ビデオ チュートリアル) 以上がCSS3の擬似クラスと擬似要素の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。<p>Hello World, and wish you have a good day!</p>
p:first-letter{color:red;}

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











純粋な CSS3 で波の効果を実現するにはどうすればよいですか?この記事ではSVGとCSSアニメーションを使って波のエフェクトを作成する方法をご紹介しますので、お役に立てれば幸いです。

この記事では、頻繁に登場する様々な奇妙な形のボタンをCSSを使って簡単に実現する方法を紹介しますので、ぜひ参考にしてください。

2 つの方法: 1. display 属性を使用して、要素に「display:none;」スタイルを追加するだけです。 2. Position 属性と top 属性を使用して、要素の絶対位置を設定し、要素を非表示にします。要素に「position:absolute;top:-9999px;」スタイルを追加するだけです。

CSS では、border-image 属性を使用してレースの境界線を実現できます。 border-image 属性では、画像を使用して境界線を作成できます。つまり、境界線に背景画像を追加できます。背景画像をレース スタイルとして指定するだけで済みます。構文「border-image: url (画像パス) は、内側への画像境界線の幅。開始を繰り返すかどうか;"。

テキストカルーセルと画像カルーセルを作成するにはどうすればよいですか?皆さんが最初に考えるのはjsを使うかどうかですが、実はテキストカルーセルや画像カルーセルも純粋なCSSでも実現できますので実装方法を見ていきましょう。

「レスポンシブ レイアウト」とも呼ばれるアダプティブ レイアウトとは、画面の幅を自動的に認識し、それに応じて調整できる Web ページ レイアウトを指します。このような Web ページは、端末ごとに特定のバージョンを作成するのではなく、複数の異なる端末と互換性を持たせることができます。 。アダプティブ レイアウトは、モバイル Web ブラウジングの問題を解決するために生まれ、さまざまな端末を使用するユーザーに優れたユーザー エクスペリエンスを提供できます。

疑似要素が失敗する理由: 1. セレクターの問題、2. スタイルの競合、3. 継承の問題、4. 構文エラー、5. ブラウザーの互換性の問題など。詳細な紹介: 1. セレクターの問題、疑似要素のセレクターが正しくないため、ターゲット要素が選択されない可能性があります; 2. スタイルの競合、CSS でスタイルの競合がある場合、疑似要素が無効になる可能性があります; 3.継承の問題、疑似要素が特定のスタイル属性を継承しない可能性がある; 4. 構文エラー CSS に構文エラーがある場合、疑似要素が失敗する可能性がある; 5. ブラウザの互換性の問題など。

:nth-child(n+3) 擬似クラス セレクターを使用して、位置が 3 以上の子要素のスタイルを選択します。具体的なコード例は次のとおりです。 HTML コード: <divid="container" ><divclass="item"> ;最初の子要素</div><divclass="item"&
