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を触るのが好きです。よろしくお願いします。

関連記事

プログラミング

iOSアプリでREST APIを使うお話

前回のREST APIをiOSアプリでも使うお話です。 こちらも割と簡単ですが、Kotlin=Javaに比べると型に関してはシビアです。 目次1 インストール1.1 CocoaPodsでインストールする。2 使い方2.1 GETの場合2.2 POSTの場合 インストール CocoaPodsでインストールする。 ライブラリが対応していれば簡単ですね。 その後、 これでインストール完了です。 使い方 こちらもAndroidの時と同じような感じでできますが、今回はModelでデータ […]

プログラミング

AndroidでREST APIを取り扱うお話

前回のお話でREST APIを気軽に確認する内容を書きましたが、今回は実際にスマホアプリ内でREST APIのやりとりを行う方法をまとめます。 以前はOkHttpというライブラリを使うことが多く、現在もそれが主流になりますが、今回はkotlinで使えるRetrofitと呼ばれるライブラリを使っていきましょう 目次1 インストール2 使い方2.1 GETの場合2.2 POSTの場合2.3 PUT通信の場合3 まとめ インストール 通信するので当然アプリ側にインターネット接続の設 […]

スマホアプリ

無音カメラが国内ではリリースできなかったお話

みなさん、無音カメラ(Silent Camera)で撮影してますか? いきなりグレーゾーンの発言ぽくなりましたが、App StoreもGoogle Playにも無音カメラは割とたくさんリリースされています。 そこで弊社でもその波(!?)に乗り、無音カメラのリリースを検討しました。 目次1 実際どうなった?2 リジェクト理由1 スパイウェアの扱いになった3 ちなみにGoogle Playでは?4 終わりに5 参考 実際どうなった? 結果から言うと、リリースはできませんでした。 […]

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

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

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

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