CSSでclassがついていないタグにだけスタイルを当てる方法

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

Local by FlywheelでWordPressのローカル開発環境構築のハードルが一気に下がる
CSSで1行で簡単にスムーススクロールを実装できる「scroll-behavior」プロパティ
スクロール時に表示領域に画面がくっつくようになる処理をCSSだけで実現する「scroll-snap」
gulpでSSI(サーバーサイドインクルード)を使用する「connect-ssi」
コーディング時のclass名の省略はどこまでして良いのか?「img / btn / ttl / desc / thumb」
ブラウザでこれ以上スクロールできない場合の挙動を制御する「overscroll-behavior」プロパティ
Visual Studio Codeのファイル横に表示されるファイルアイコンのテーマまとめ
Visual Studio Codeで対応する括弧に色を付けて見やすくする環境設定
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Visual Studio Codeで英単語のスペルチェックをしてくれる拡張機能「Code Spell Checker」
Alfredで複数のアプリケーションを一括で起動するWorkflowの作成方法
HTML・CSSでWebサイト制作を行う際に必要なツール
Spreadsheetのフィルタでソートや絞り込み|自分にだけ影響するフィルタと、閲覧者全員に影響があるフィルタの違い
効率的に作業をこなしていくための時間術「ポモドーロテクニック」とは?
webpackでTop-Level Awaitを使用して、一番上位でもawaitを使えるようにする方法
Audacityで音声の雑音・ノイズを低減する方法
Path Finder 9.0.4からツールバーにカスタムファイルを追加できるように!ツールバーがさらに便利になる
Figmaのプロトタイプ機能の基本|作成したデザインに実際に画面遷移を設定する
Macで複数ディスプレイを使っている場合に便利な設定集