目次
- 【完全保存版】CSSが反映されない原因と解決方法まとめ|初心者でも必ず直せるチェックリスト付き
- CSSが反映されないとはどういう状態か
- まず最初に確認すべき最重要ポイント
- CSSファイルが読み込まれていない
- チェックポイント
- 簡単な確認方法
- セレクタの指定ミス
- HTML構造とセレクタが合っていない
- CSSの優先順位で上書きされている
- !important が原因で反映されない
- 対策
- CSSの文法ミス(書き間違い)
- 対策
- メディアクエリの条件ミス
- よくあるミス
- スマホだけCSSが反映されない場合
- キャッシュが原因で反映されない
- 対処法
- 他のCSSに上書きされている
- CSSが一部だけ反映されないとき
- デベロッパーツールを使うと一発で分かる
- 初心者向け最終チェックリスト
- よくある質問
- CSSが一瞬だけ反映されるのはなぜ?
- 毎回CSSが反映されない原因は?
- まとめ
【完全保存版】CSSが反映されない原因と解決方法まとめ|初心者でも必ず直せるチェックリスト付き
HTMLとCSSでWebサイトを作っていると、
「CSSがまったく反映されない」という壁に必ずぶつかります。
- CSSを書いたのに見た目が変わらない
- さっきまで反映されていたのに急に効かなくなった
- どこを直せばいいのか分からない
この記事では、「css 反映されない」で検索した初心者の方に向けて、
CSSが反映されない原因と、その解決方法を順番に解説します。
上からチェックしていくだけで、
ほとんどのCSSトラブルは確実に解決できます。
CSSが反映されないとはどういう状態か
CSSが反映されないとは、
スタイルを指定しているにもかかわらず、ブラウザの表示に変化が出ない状態です。
具体的には次のような症状があります。
- 色・サイズ・配置が変わらない
- レイアウトが意図した通りにならない
- スマホ表示だけCSSが効かない
原因は1つとは限らず、
複数のミスが重なっているケースも多いのが特徴です。
まず最初に確認すべき最重要ポイント
CSSが反映されないときは、
必ず次の順番で確認してください。
- CSSファイルが読み込まれているか
- セレクタ指定が正しいか
- CSSの優先順位で負けていないか
- キャッシュが原因ではないか
- メディアクエリの条件が合っているか
CSSファイルが読み込まれていない
最も多い原因が、
CSSファイルがそもそも読み込まれていないケースです。
<link rel="stylesheet" href="style.css">
チェックポイント
- ファイルパスは正しいか
- ファイル名のスペルは合っているか
- 全角文字や日本語が混ざっていないか
簡単な確認方法
body {
background: red;
}
一時的に背景色を変えて、
画面が真っ赤になるか確認してみましょう。
セレクタの指定ミス
CSSは、
指定したセレクタに完全一致しないと反映されません。
.title {
color: blue;
}
<h1 class="titile">タイトル</h1>
このような クラス名の打ち間違い は非常に多いミスです。
HTML構造とセレクタが合っていない
.box p {
color: red;
}
<p class="box">テキスト</p>
この場合、
.box の中に p が存在しないため、CSSは反映されません。
CSSの優先順位で上書きされている
CSSには 優先順位(カスケード) があります。
p {
color: red;
}
.text {
color: blue;
}
<p class="text">テキスト</p>
この場合、
クラス指定の方が優先されるため青になります。
!important が原因で反映されない
p {
color: red !important;
}
この指定があると、
他のCSSでは上書きできません。
対策
- !important をできるだけ使わない
- 既存のCSSに含まれていないか確認する
CSSの文法ミス(書き間違い)
.box {
color: red
background: blue;
}
セミコロンの抜けや波括弧の閉じ忘れで、
それ以降のCSSが無視されることがあります。
対策
- セミコロンを必ず付ける
- インデントを揃えて書く
メディアクエリの条件ミス
@media (max-width: 768) {
body {
background: yellow;
}
}
正しくは:
@media (max-width: 768px) {
}
よくあるミス
- pxを付け忘れる
- min-width と max-width を勘違いする
スマホだけCSSが反映されない場合
スマホ表示で効かない場合は、
viewportの設定を必ず確認してください。
<meta name="viewport" content="width=device-width, initial-scale=1.0">
これがないと、
メディアクエリが正しく動きません。
キャッシュが原因で反映されない
CSSは、
ブラウザに強くキャッシュされやすいファイルです。
対処法
- スーパーリロード(Ctrl + F5)
- シークレットモードで確認
- ファイル名にクエリを付ける
<link rel="stylesheet" href="style.css?v=2">
他のCSSに上書きされている
body {
color: black;
}
.article p {
color: gray;
}
より具体的なセレクタや、
後から読み込まれたCSSが優先されます。
CSSが一部だけ反映されないとき
- width が効かない
- display が変わらない
この場合は、
親要素の指定を疑いましょう。
.parent {
display: flex;
}
.child {
width: 100%;
}
CSSは、
親子関係の影響を強く受けます。
デベロッパーツールを使うと一発で分かる
Chromeなどの開発者ツールを使うと、
- CSSが当たっているか
- 打ち消されていないか
- どのCSSが有効か
を一目で確認できます。
CSSが反映されないときの最強ツールです。
初心者向け最終チェックリスト
CSSが反映されないときは、
次を順番に確認してください。
- CSSは読み込まれているか
- セレクタは正しいか
- 優先順位で負けていないか
- 文法ミスはないか
- キャッシュはクリアしたか
- メディアクエリ条件は正しいか
よくある質問
CSSが一瞬だけ反映されるのはなぜ?
- JavaScriptで上書きされている
- CSSの読み込み順が原因
毎回CSSが反映されない原因は?
- キャッシュ
- 共通CSS設計の問題
- !important の多用
まとめ
CSSが反映されない原因のほとんどは、
基本的な確認漏れです。
- 読み込み
- セレクタ
- 優先順位
- 文法
- キャッシュ
「css 反映されない」で検索した方は、
まず CSSファイルが本当に読み込まれているか を確認してください。
そこから順番にチェックすれば、必ず原因は見つかります。