# CSSでclassがついていないタグにだけスタイルを当てる方法 URL: https://webrandum.net/css-selector-not-class/ 公開日: 2022-09-20 更新日: 2022-09-20 カテゴリー: コーディング タグ: CSS 出典: Webrandum(著者: サイトウ マサカズ) コーディングをしていると、classが1つもついていないタグにだけスタイルを当てたい場合があります。 「classがなにもついていない」状態は「デフォルトの状態」とも言い換えられます。 うまく使いこなすことで、余計なスタイルの打ち消しを最小限に抑えつつ、CSSをスッキリさせられます。 ## classがついていないタグにスタイルを当てる方法 classがついていないタグにスタイルを当てるためには「`○○:not([class])`」を使います。 `

`タグに対して使う場合は下記のようになります。 ``` h2:not([class]) { /* classが付いていない場合のスタイル */ } ``` `[class]`はclass属性のことで、`:not()`は否定を表す疑似クラスです。 その2つを組み合わせることで「class属性が存在しない場合に」というセレクタになります。 ## 使いどころ 例えばブログ記事やお知らせなど、あとからWYSIWYGエディタやブロックエディタを使って追加するコンテンツにはclassがついていない場合が多いです。 普通は「`.blog`」などの専用のタグを上位に付けておいて、その中のタグを指定する方が一般的だと思います。 ``` .blog h2 { /* ブログ内のh2にだけ適用されるスタイル */ } ``` しかしこれだと、ブログ外でも同じスタイルを使いたい場合に、同じ内容のスタイルを別途用意したり、セレクタを追加する必要が出てきます。 そこで`:not([class])`指定をしておけば、デフォルトの状態としてスタイルを追加できるので、同じ見た目を簡単に用意できます。 そしてトップページなど、別のスタイルが必要な場合はclassを付けてスタイルを用意します。 classを付けると`:not([class])`は適用されなくなるので、余計な打ち消しが必要ありません。