CSSは親要素の下の最初の子要素を選択します(:first-child)

CSSは親要素の下の最初の子要素を選択します(:first-child)

序文

最近、プロジェクトで :first-child を使用したのですが、すぐに思いつきました。これは最初の要素を選択するだけではないでしょうか?

非常に便利なようで、日常的な使用では特に問題に遭遇することはありません。当然、親要素の下の最初の要素のみが選択され、孫やひ孫の要素には影響がないと考えます。結局私は間違っていたことが判明しました。

E:first-child の最初の誤解 (指定した領域の 1 つだけが選択され、孫やひ孫の要素がいくつあるかは調べられません)

<!DOCTYPE html>
<html>
<ヘッド>
<スタイル>
本文 p:first-child
{
背景色:黄色;
}
</スタイル>
</head>
<本文>

<p>この段落は、親要素 (本文) の最初の子です。 </p>

<h1>私のホームページへようこそ</h1>
<p>この段落は親の最初の子ではありません。 </p>

<div>
<p>この段落は、親 (div) の最初の子です。 </p>
<p>この段落は親の最初の子ではありません。 </p>
</div>

<p><b>注意:</b> IE8 以前のブラウザの :first-child では、<!DOCTYPE> 宣言が必要です。 </p>

</本文>
</html>

上記のコードは本当に 1 つの p タグでのみ機能しますか?

これは、body p:first-child が最初の要素を選択すると考えるという、私たちが犯した最初のよくある誤解です。

実際、この p が選択した body 内の親要素の最初のものである限り、選択されます。

E:first-childの2番目の誤解(このE要素の前に何人の兄弟がいても、私が最初のE要素である限り、私は効果を発揮します)

上記のコードのままですが、body の p タグの前に font タグを追加したところ、p が無効であることがわかりました。
上記の 2 つの例は、このセレクターの使用方法を明確に示しています。

:first-child は、親要素の最初の子要素を選択するセレクターです。

指定した要素のサブ要素のみを選択するにはどうすればよいですか?孫やひ孫が何人いるかは言うまでもありません。

子セレクター(>):孫、ひ孫などを除いた、特定の要素の子(直接の子)である要素のみを選択できます。上記のコードを例として、>を追加して効果を試してください。

間違ったセレクターが使用されているにもかかわらず、エラーが報告されないことがあります。しかし、間違っていることは間違っている。発見される時が必ず来ます。
この間違いから何かを学べてよかったです。

親要素下の最初の子要素を選択する CSS (:first-child) に関するこの記事はこれで終わりです。親要素下の最初の子要素を選択する CSS に関するより関連性の高い記事については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  Dockerイメージ作成の完全なプロセス

>>:  CSS 向け SASS スタイル プログラミング ガイド

推薦する

Ubuntu 20.04 LTS で Java 開発環境を構成する

Java開発キットjdkをダウンロードするJDK のダウンロード アドレスはhttp://www.o...

ins タグと del タグの属性と使用法

insとdel は、HTML 4.0 で導入され、文書の作成時に作成者が共同作業できるようにし、また...

MySQLは文字列関数のSQL文をインターセプトします

1. left(name,4)は左の4文字をインターセプトしますリスト: SELECT LEFT(2...

フロントエンドは画像を遅延ロードする方法を知っている必要があります(3つの方法)

目次1. 遅延読み込みとは何ですか? 2. 遅延読み込みを実装する🌄: 2.1 最初の方法: 2.2...

Windows オペレーティング システムでポートの使用状況を照会およびクリアするプログラム

Windowsオペレーティングシステムでは、ポートの占有状況を照会し、ポートの占有状況をクリアするプ...

Reactイベントスロットリング効果が失敗する理由と解決策

目次ここでの問題は次の通りです:解決策1:解決策2: コンストラクタで初期化を割り当てる採掘場の概要...

Nginx で何ができるかの包括的な分析

序文この記事は、サードパーティのモジュールをロードせずにNginxで処理できることのみに焦点を当てて...

LinuxにDockerをインストールする(非常に簡単なインストール方法)

最近、かなり暇です。大学4年生として数か月間インターンをしていました。インターンとして、Docker...

nginxとバックエンドポート間の競合の解決策

質問: Alice 管理システムを開発しているときに、すべてのバックエンド インターフェイスが最初の...

win10 での mysql 8.0.16 winx64 インストールの最新グラフィック チュートリアル

このデータベースをダウンロードするには、多くの時間とトラフィックがかかります。踏み込んだ落とし穴で時...

適応型ウェブページを設計および作成する方法

3G の普及により、携帯電話を使ってインターネットにアクセスする人が増えています。モバイル デバイス...

Nofollowはコメントやメッセージ内のリンクを本当に機能させる

コメントとメッセージはもともと、ウェブマスターがコミュニティと読者層を構築するための優れた手段でした...

MySQL はデータベースを動的に更新します スクリプト例の説明

具体的なupgradeスクリプトは次のとおりです。インデックスを動的に削除する アップグレードが存在...

英語: リンクタグはIEでhrefを自動的に補完します

英語: IE では、リンク タグによって href が自動的に補完されます。 Ajax Link T...

CSS と Bootstrap アイコンを使用して、上下にジャンプするインジケーター矢印のアニメーション効果を作成します。

ページが非常に長い場合は、下にさらにコンテンツがあることをユーザーに知らせるために矢印が必要になるこ...