検索
ホームページウェブフロントエンドCSSチュートリアル擬似要素は子供であることを少し思い出させてください。

擬似要素:それは子供の要素のように見えますが、これとはまったく異なります

擬似要素は子供であることを少し思い出させてください。

子要素を含む容器を見てみましょう。

<div class="container">
  <div>アイテム</div>
  <div>アイテム</div>
  <div>アイテム</div>
</div>

次のスタイルを追加する場合:

 .container :: before {
  コンテンツ: "x";
}

効果は次のとおりです。

<div class="container">
  [[[::擬似要素の前]]]]
  <div>アイテム</div>
  <div>アイテム</div>
  <div>アイテム</div>
</div>

擬似要素の挙動は、ほとんどの場合、子供の要素の動作に似ています。ただし、重要な違いは、他のセレクターが作成するセレクター(または::beforeまたは::afterなどの類似のセレクター)を除いて、他のセレクターを直接選択できないことです。

たとえば、コンテナを2x3グリッドに設定し、各子供要素がピルのようなデザインであるとします。

 。容器 {
  ディスプレイ:グリッド;
  Grid-Template-Columns:1FR 1FR;
  グリッドギャップ:0.5rem;
}

.container> * {
  背景:DarkGray;
  ボーダーラジウス:4px;
  パディング:0.5rem;
}

擬似要素がない場合、効果は予想通りです。しかし、擬似要素を追加した後、グリッドレイアウトに参加することがわかりますが、これは予想外かもしれません。擬似要素は装飾的な目的に使用されることがよくあり、コンテンツレイアウトに参加するのは少し奇妙に思えます。

.container > *セレクターは、擬似要素をこのように選択できないため、擬似要素の濃い灰色にもなりません。これは別の小さな問題です。

毎日の開発では、擬似要素は通常、 position: absolute使用します。

 .container :: before {
  コンテンツ: "";
  位置:絶対;
  /*装飾スタイル*/
}

この場合、擬似要素の存在にまったく気付かないかもしれません。それはまだ技術的には子供の要素であり、DOM構造に参加していますが、グリッドレイアウトには参加しません。これは、CSSグリッドに固有の現象ではありません。 FlexBoxでは、擬似要素もフレックスプロジェクトになります。フローティングやその他のレイアウト方法を使用するのが好きなように、擬似要素を制御できます。

開発者ツールは、擬似要素がDOMの子要素に似ていることを明確に示しています。

他にもいくつかの問題があります:

1つは:nth-child() selectorです。擬似要素が子要素である場合、それらは次のように影響すると思うかもしれません:nth-child()計算はそうで​​はありません。これはつまり:

 .container>:nth-​​child(2){
  背景:赤;
}

::before擬似要素が存在するかどうかに関係なく、同じ要素が選択されます。同じことが::after:nth-last-childなどのセレクターにも当てはまります。これがタイトルの「ちょっと」という理由です。擬似要素が子要素とまったく同じ場合、これらのセレクターに影響します。

別の問題は、通常の子供の要素を選択するように、JavaScriptで擬似要素を選択できないことです。 document.querySelector(".container::before"); nullを返します。 JavaScriptで擬似要素のスタイルにアクセスする必要がある場合は、CSSOMを使用できます。

 const styles = window.getComputedStyle(
  document.queryselector( '。コンテナ')、
  '::前に'
);
console.log(styles.content); // "x"
console.log(styles.color); // RGB(255、0、0)
console.log(styles.getPropertyValue( 'color')); // RGB(255、0、0)

擬似要素に関する他の問題に遭遇しましたか?

以上が擬似要素は子供であることを少し思い出させてください。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
マウスの動きのシミュレーションマウスの動きのシミュレーションApr 22, 2025 am 11:45 AM

ライブトークやクラス中にインタラクティブなアニメーションを表示しなければならなかった場合、スライドと対話するのが必ずしも簡単ではないことを知っているかもしれません

Astro ActionsとFuse.jsでのパワー検索Astro ActionsとFuse.jsでのパワー検索Apr 22, 2025 am 11:41 AM

Astroを使用すると、ビルド中にほとんどのサイトを生成できますが、fuse.jsのようなものを使用して検索機能を処理できるサーバー側のコードが少しあります。このデモでは、ヒューズを使用して、個人の「ブックマーク」セットを検索します。

未定義:3番目のブール値未定義:3番目のブール値Apr 22, 2025 am 11:38 AM

ドキュメントが保存されている間にGoogleドキュメントに表示されるものと同様に、プロジェクトの1つに通知メッセージを実装したかったのです。言い換えれば、a

三元声明の防衛三元声明の防衛Apr 22, 2025 am 11:25 AM

数ヶ月前、私はハッカーのニュースに出演していました(1つのように)。あなたがこのアイデアに慣れていない場合(私のように

多言語翻訳にWeb Speech APIを使用します多言語翻訳にWeb Speech APIを使用しますApr 22, 2025 am 11:23 AM

サイエンスフィクションの初期の頃から、私たちは私たちに話しかける機械について空想してきました。今日は当たり前です。それでも、作成のための技術

Jetpack GutenbergブロックJetpack GutenbergブロックApr 22, 2025 am 11:20 AM

私はその日私たちにワードキャンプにいたので、グーテンバーグがコアにリリースされたときのことを覚えています。数ヶ月が今から経過しているので、ますます私たちのことを想像してください

VUEで再利用可能なページネーションコンポーネントを作成しますVUEで再利用可能なページネーションコンポーネントを作成しますApr 22, 2025 am 11:17 AM

ほとんどのWebアプリケーションの背後にあるアイデアは、データベースからデータを取得し、可能な限り最良の方法でユーザーに提示することです。そこでデータを扱うとき

「ボックスシャドウ」とクリップパスを一緒に使用します「ボックスシャドウ」とクリップパスを一緒に使用しますApr 22, 2025 am 11:13 AM

&#039;は、理にかなっていると思われることを非常に実行できる状況を少し段階的に実行しますが、CSSのトリックでそれを成し遂げることができます。これで

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衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SecLists

SecLists

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