Web制作、Webサービスに関する技術やノウハウを発信するコラムサイト

first-childとfirst-of-typeセレクタの違いってなに?違いを見てみよう!

  • このエントリーをはてなブックマークに追加

コーディングをしているとよくお世話になるfirst-childとfirst-of-typeセレクタ。
ただfirst-childとfirst-of-typeの違いって最初のうちってよくわからないですよね。
今回はその2つの違いについてお話しようと思います。


first-childが効かない?そんな時はfirst-of-typeで!

img01 例えば上の画像のようにpタグの中で、1番最初にあるものに色を付けたいとします。
とりあえずHTMLは以下のような感じです。

HTML


このときなんとなく1番最初のpタグに色を付けたいからfirst-childで~と思ってしまう方も多いと思うのですが…

img02 はい、色が付きません。

というわけで今回の場合、first-of-typeセレクタを使います。


囲んでいる要素のなかでの順番の数え方が異なる

なぜ今回はfirst-of-typeを使用するのかというと、first-childとfirst-of-typeでは囲んでいる要素のなかでの順番の数え方が異なるからです。
例えば今回であれば囲っているc01というIDのなかで

first-childの場合

h1も含め上から何番目か見る。今回の場合は、最初のpタグはnth-child(2)での指定になる。

first-of-typeの場合

h1は含めないで上から何番目か見る。pの中で1番最初に対しては、first-of-typeで指定できる。

というようになるんですね。

ということでfirst-of-typeで色を付けてみましょう。

img03 はい!無事色が付きました。

DEMO

ちなみにlast-childとlast-of-typeセレクタも同じような扱いになります。
最初は戸惑うかもしれませんがわかると便利な要素ですので、ぜひうまく使い分けしてみてください!


執筆者:工藤 [ WEBデザイナー ]

WEBデザイナー。 最近はWordPressを触るのが好きです。よろしくお願いします。

関連記事

WordPress

お問い合わせフォーム作成WPプラグインに返信機能を追加!

弊社が提供しているWordPressプラグイン『Easy Form Maker』に返信機能が追加されました! 『Easy Form Maker』は日本語で制作した、お問い合わせのWordPressプラグインです。 ※返信機能については有料版のみの提供となります 今回はその返信機能についてご紹介します。 基本的な使い方については、こちらの記事をご覧ください。 目次1 こんなことで困っていませんか?2 実際の画面を見てみよう2.1 お問い合わせの一覧2.2 全体2.3 お問い合わ […]

マークアップ

SharePoint クラシックUIの通知機能をPower Automateで再現する

SharePoint サイトをモダンUIへ移行すると、よく耳にするのが「クラシックUIにあった通知機能を使いたい」という声です。しかし、モダンUIにはクラシック時代のような「標準の通知機能」が用意されていません。 そこで活躍するのが「Power Automate」です。クラシック通知の代わりとして、リストの変更を自動で検知し、メールで知らせる仕組みを簡単に構築できます。 本記事では、クラシックUIの通知に近い形で、Power Automate を使ったメール通知フローを作成す […]

Webサイト制作

制作会社が考える、WordPressとオリジナルCMSの選定ポイント

弊社では「WordPress」を使った制作と、弊社のオリジナルCMSツール「ProG(プログ)」を使った制作の、いずれについても多くのご相談をいただいています。 それぞれにメリットがある一方で、運用時に気を付けるべき点もあり、サイトの目的や運用方法によって向き・不向きがあります。 この記事ではそれぞれの特徴を整理しながら、WordPressとオリジナルCMSを併用できるケースについてもご紹介します! 目次1 WordPressを使用するメリット1.1 多機能で自由度が高い1. […]

株式会社8bit (エイトビット)

東京都目黒区でWebサイト制作、Webシステム開発などを行っております。
コーポレートサイトやWebサービスの企画・提案を得意としており、自社での経験を元にアイデアをカタチにするお手伝いをさせていただいております。

Web制作に関するご相談はお気軽にどうぞ

弊社に制作をご依頼いただく際の費用感をご確認いただける、
見積りシミュレーションをご用意いたしました。