ホームページ ウェブフロントエンド フロントエンドQ&A CSS3の擬似クラスと擬似要素の違いは何ですか?

CSS3の擬似クラスと擬似要素の違いは何ですか?

Dec 22, 2021 am 10:54 AM
css3 擬似要素 疑似クラス

違い: 1. 疑似クラスは、既存の要素が特定の状態にあるときに対応するスタイルを追加するために使用されますが、疑似要素は、DOM ツリーにないいくつかの要素を作成し、スタイルを追加するために使用されます。 2. 疑似要素はドキュメント ツリーの外に要素を作成しますが、疑似クラスは作成しません; 3. 疑似要素は二重コロン「::」で表され、疑似クラスは単一コロン「:」で表されます。

CSS3の擬似クラスと擬似要素の違いは何ですか?

このチュートリアルの動作環境: 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 を設定することで最初の

  • にスタイルを追加できます。 li は DOM ツリーにまだ存在します。中

    <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

    <p>Hello World, and wish you have a good day!</p>
    
    p:first-letter{color:red;}
    ログイン後にコピー

    上記の例から、疑似クラスの操作オブジェクトはドキュメント ツリー内の既存の要素であるのに対し、疑似要素はドキュメント ツリーの外に要素を作成することがわかります。したがって、疑似クラスと疑似要素の違いは、ドキュメント ツリーの外に要素が作成されるかどうかです。

    疑似要素に単一コロンまたは二重コロンを使用しますか?

    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 を満たさない要素を選択します。

    #:optional オプションであるフォーム要素を選択します。 「必須」属性ではありません

    :読み取り専用は、「読み取り専用」のフォーム要素を選択します。

    :読み取り-書き込みは、「読み取り専用」のないフォーム要素を選択します。

    :rootルート要素を選択します

    一般的に使用される疑似要素

    ::first-letter 指定された要素の最初の単語を選択します

    ::first- line 指定した要素の最初の行を選択します

    ::after 指定した要素のコンテンツの前にコンテンツを挿入します

    ::before 指定した要素のコンテンツの後にコンテンツを挿入します

    ::selection 指定された要素でユーザーが選択したコンテンツを選択します

    (学習ビデオ共有: css ビデオ チュートリアル)

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

  • このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

    ホット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ヘンタイを無料で生成します。

    ホットツール

    メモ帳++7.3.1

    メモ帳++7.3.1

    使いやすく無料のコードエディター

    SublimeText3 中国語版

    SublimeText3 中国語版

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

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SublimeText3 Mac版

    SublimeText3 Mac版

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

    純粋な CSS3 で波の効果を実現するにはどうすればよいですか? (コード例) 純粋な CSS3 で波の効果を実現するにはどうすればよいですか? (コード例) Jun 28, 2022 pm 01:39 PM

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

    CSSを上手に使って色々な変わった形のボタンを実現(コード付き) CSSを上手に使って色々な変わった形のボタンを実現(コード付き) Jul 19, 2022 am 11:28 AM

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

    スペースを取らずにCSS内の要素を非表示にする方法 スペースを取らずにCSS内の要素を非表示にする方法 Jun 01, 2022 pm 07:15 PM

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

    CSS3でレースボーダーを実装する方法 CSS3でレースボーダーを実装する方法 Sep 16, 2022 pm 07:11 PM

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

    テキストカルーセルと画像カルーセルも純粋な CSS を使用して実現できることがわかりました。 テキストカルーセルと画像カルーセルも純粋な CSS を使用して実現できることがわかりました。 Jun 10, 2022 pm 01:00 PM

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

    css3アダプティブレイアウトとは何ですか css3アダプティブレイアウトとは何ですか Jun 02, 2022 pm 12:05 PM

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

    なぜ疑似要素が失敗するのでしょうか? なぜ疑似要素が失敗するのでしょうか? Nov 21, 2023 pm 05:13 PM

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

    :nth-child(n+3) 擬似クラス セレクターを使用して、位置が 3 以上の子要素のスタイルを選択します。 :nth-child(n+3) 擬似クラス セレクターを使用して、位置が 3 以上の子要素のスタイルを選択します。 Nov 20, 2023 am 11:20 AM

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

    See all articles