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])は適用されなくなるので、余計な打ち消しが必要ありません。

ブログに見出しを設置できるjQueryプラグイン「TOC | jQuery Table of Contents」
gzip圧縮をしてウェブサイトの表示スピードを上げる方法
効率的なマークアップが出来るようになるEmmetでHTMLを書く時の基本
「EWWW Image Optimizer」を使ってWordPressをWebPに対応する方法
Movable TypeでAssetURLやEntryPermalink・ContentPermalinkで出力されるパスを絶対パスから相対パスに変える
Visual Studio Codeで複数ファイルを編集するときにタブやペインの操作方法
Nuxt.jsの基本と最初のセットアップ「プロジェクトの作成と起動をするまでの流れ」
Visual Studio Codeとスニペット・ドキュメント検索アプリの「Dash」連携を行うプラグイン
SourceTreeでBacklogのGitを使うときに、権限エラーになってしまう場合の解決法
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
CSSだけで画像の比率を保ってトリミングできる「object-fit」
Dashの環境設定やスニペットのバックアップ・同期方法
macOSの効率化に関するDiscordコミュニティ「CMD-F」を立ち上げました
iTerm2で画面の見た目や細かい設定などを「プロファイル」単位で保存・管理する環境設定の「Profiles」タブ
CSSのカスタムプロパティ(変数機能)の使い方
Path Finderの「Finderで開く」が機能しないので、Keyboard Maestroで代替用マクロを作成する
スクロールしてもテーブルヘッダーが追尾するテーブルの作り方
GoogleアナリティクスとGoogleアドセンスを連携して、細かいデータを見る方法
WordPressのContact Form 7で送信時に回転アイコンが出たまま止まってしまうときのチェックリスト