ライブテスター付きCSSセレクター チートシート

CSSセレクターのテスターとチートシート

CSSセレクター チートシート:ライブテスター、nth-child、::before | We.Inc

CSSセレクターを入力すると、サンプルページでどの要素に一致するかを詳細度とともに確認できます。すべてのセレクターの分類、nth-childの数式計算ツール、::beforeと::afterのレシピ、:has()も紹介します。

セレクターは、CSSのルールをどの要素に適用するかを指定するものです。基本となるのは、タイプ(p)、クラス(.card)、ID(#main)、属性([type=email])、結合子(子孫のスペース、子の>、兄弟の+と~)、:hoverや:nth-child(2n)などの疑似クラス、そして::beforeなどの疑似要素です。下にセレクターを入力すると、何に一致するかを確認できます。

ほとんどのスタイルシートで使われるセレクター

セレクターの表を読むだけでは限界があります。下のテスターは、入力したセレクターをブラウザー自身のエンジンで小さなサンプルページに対して実行し、一致するすべての要素をハイライトし、無効な入力を説明し、詳細度を計算します。その下の計算ツールは、3n+1が実際にどの項目を選ぶのかという永遠の疑問に答えます。

よくある質問

nth-childとnth-of-typeの違いは?

:nth-child(2)はすべての兄弟要素を数え、2番目の要素がセレクターの残りの部分にも一致するかを確認します。:nth-of-type(2)は同じタグの兄弟要素だけを数えます。そのため、2番目の子がh2ならp:nth-child(2)は何にも一致しませんが、p:nth-of-type(2)は2番目の段落を見つけます。

::beforeと:beforeの違いは?

どちらも同じ疑似要素です。コロン2つの書き方は、疑似要素と疑似クラスを区別するために導入されたもので、ブラウザーは後方互換性のため、古い4つ(before、after、first-line、first-letter)についてはコロン1つも受け付けています。新しいコードではコロン2つで書きましょう。

:has()は何をするものですか?

:has()は、要素が何を含んでいるか、またはその後に何が続くかに基づいて要素に一致します。たとえば.card:has(img)は画像を含むカードに、label:has(+ input:invalid)は無効な入力欄の前にあるラベルにスタイルを適用します。現在の主要ブラウザーすべてで対応しており、最後に対応したのは2023年末のFirefoxです。

詳細度はどのように計算されますか?

3つのものを数えます:IDセレクター、クラス・属性セレクター・疑似クラス、そしてタイプセレクターと疑似要素です。左から比較するので、IDが1つあればクラスがいくつあっても勝ちます。:where()は何も加えませんが、:is()、:not()、:has()は引数の中で最も詳細度の高いもののスコアを取ります。インラインスタイルと!importantは、これらすべてより上に位置します。

スマートフォンで:hoverのスタイルが表示されないのはなぜですか?

タッチスクリーンにはホバー状態がないため、ブラウザーはそれを省略するか、タップ後に一瞬だけ適用します。ホバー専用のスタイルは@media (hover: hover)で囲み、ホバーで表示される内容がタップやキーボードでも利用できるようにしましょう。

ブラウザーがセレクターを読む仕組み

疑似クラスと疑似要素の違い

詳細度をコントロールする

基本セレクターと属性セレクター

単純セレクター

結合子

要素同士の関係

疑似クラス

状態、構造、論理

疑似要素と::before / ::afterのレシピ

要素の一部分

必須マーク、外部リンクのアイコン、引用符

それぞれの装飾はCSSの中にあるので、HTMLはすっきりしたままです。どちらの疑似要素にもcontentが必要です。

:hover、:focus-visible、:has()の組み合わせ

Tabキーで入力欄に移動するとリングが表示されます。カードは、無効なメールアドレスが入力されている間だけ赤くなります。

ホーム

提携サイト

メニュー

旬の料理を毎週入れ替えています。

アレルギー物質についてはお尋ねください。

名前

メモ

セレクターテスター

セレクター

セレクターの例

このブラウザーでは有効なセレクターではありません。

{n}個の要素が一致

{n}個の要素が一致

詳細度はID、クラス、タイプの順に読みます。3番目の項目「リゾット」にはfeaturedクラスがあり、最初の段落のidはintroです。

nth-child計算ツール

:nth-child( )の中の数式

項目数:{n}

数式の例

2n+1、-n+3、odd、even、または単一の数値のような形式で入力します。

一致する項目:{list}

このリストで一致する項目はありません

項目

無料で始める · クレジットカード不要

関連: ガイド|Webマーケティングと集客を学ぶ

製品

ご利用いただける方

機能

リソース

会社情報

サイトマップを見る