HTMLやCSSの学習をしていると、「CSSを書いたのに反映されない」「さっきまで表示されていたデザインが急に消えた」と困った経験はありませんか?
CSSが反映されない原因はCSSファイルの読み込み設定に問題がある場合もあれば、ファイルパスやスペルミス、CSSの優先順位が影響しているケースもあります。そのため、原因を正しく特定できず、長時間悩んでしまう初心者の方も少なくありません。
この記事では、HTMLやCSSが反映されない主な原因と対処法を初心者向けにわかりやすく解説します。よくあるトラブルを具体例とともに紹介するので、ぜひ参考にしてください。
オススメ:HTML・CSSの基礎を無料で学べる初心者向け講座はこちら
関連記事:「HTMLにCSSを埋め込む方法を解説|外部CSS・内部CSS・インラインCSSの違いも紹介」
HTML・CSSが反映されない主な原因

HTMLやCSSが反映されない場合、原因はコードの書き方だけとは限りません。特に初心者の方は、CSSファイルの読み込み設定やファイルの指定方法に問題があるケースが多くあります。まずはCSSそのものを修正する前に、基本的な設定に問題がないか確認してみましょう。
CSSファイルが読み込まれていない
CSSがまったく反映されない場合は、HTMLファイルがCSSファイルを正しく読み込めていない可能性があります。外部CSSを使用する場合は、headタグ内にlinkタグを記述してCSSファイルを読み込みます。
<link rel="stylesheet" href="style.css">
この記述がない場合や、記述場所が誤っている場合はCSSが適用されません。
まずは以下のポイントを確認してみましょう。
- linkタグを記述しているか
- rel属性に「stylesheet」が指定されているか
- headタグ内に記述されているか
HTMLを保存したあとにブラウザを再読み込みすると、反映される場合もあります。
ファイルパスが間違っている
linkタグを正しく記述していても、ファイルパスが間違っているとCSSは読み込まれません。
例えば、以下のようなフォルダ構成になっているとします。
project
├ index.html
└ css
└ style.css
この場合、HTMLファイルからCSSファイルを読み込むには次のように記述する必要があります。
<link rel="stylesheet" href="css/style.css">
誤って以下のように記述すると、CSSファイルを見つけられません。
<link rel="stylesheet" href="style.css">
CSSが反映されない場合は、HTMLファイルから見たCSSファイルの位置が正しいか確認しましょう。
関連記事:「HTMLにCSSを埋め込む方法を解説|外部CSS・内部CSS・インラインCSSの違いも紹介」
ファイル名や拡張子が違う
ファイル名や拡張子の入力ミスも、CSSが反映されない原因としてよくあります。
例えば、実際のファイル名が「style.css」なのに、HTML側で別の名前を指定しているとCSSは読み込まれません。
<link rel="stylesheet" href="styles.css">
また、拡張子が誤っているケースにも注意が必要です。
style.css
style.CSS
style.css.txt
見た目は似ていますが、ブラウザからは別のファイルとして認識されます。特にWindowsでは拡張子が表示されない設定になっていることもあるため、ファイルの実際の名前を確認してみましょう。CSSがまったく反映されない場合は、まず「読み込み設定」「ファイルパス」「ファイル名」の3つを確認するのがおすすめです。多くのケースは、この段階で原因を見つけられます。
CSSの記述ミスを確認する
CSSファイルが正しく読み込まれているにもかかわらずスタイルが反映されない場合は、CSSやHTMLの記述ミスが原因かもしれません。特に初心者の方は、わずかな入力ミスによってCSSが無効になっているケースがよくあります。コードを見直す際は、以下のポイントを確認してみましょう。
スペルミスがある
CSSが反映されない原因として多いのが、クラス名やプロパティ名のスペルミスです。例えば、HTMLとCSSでクラス名が少しでも異なると、スタイルは適用されません。
<p class="message">サンプルテキスト</p>
.messege {
color: red;
}
この例では、HTMLは「message」、CSSは「messege」となっているため、スタイルが反映されません。また、CSSプロパティ名の入力ミスにも注意が必要です。
color: red;
を誤って
clor: red;
と記述すると、そのスタイルは適用されません。CSSが反映されない箇所がある場合は、まずスペルミスがないか確認してみましょう。
「.」や「#」が抜けている
クラスセレクタやIDセレクタを使用する場合は、「.」や「#」を付ける必要があります。
例えば、以下のHTMLがあるとします。
<div class="box">
サンプル
</div>
このクラスにスタイルを適用する場合は、CSSで次のように記述します。
.box {
background-color: yellow;
}
しかし、「.」を付け忘れると要素セレクタとして認識されるため、意図したスタイルは適用されません。
box {
background-color: yellow;
}
なお、「.」を付け忘れた場合でもCSSの文法エラーになるわけではありません。例えば「box」はクラスセレクタではなく要素セレクタとして解釈されるため、class=”box” に対してスタイルは適用されません。同様に、IDセレクタを指定する場合は「#」が必要です。CSSが一部だけ反映されない場合は、セレクタの書き方に誤りがないか確認してみましょう。
全角スペースが含まれている
コードの中に全角スペースが混ざっていると、CSSが正しく解釈されない場合があります。
例えば、以下のように半角スペースを使用するのが一般的な書き方です。
margin: 20px;
一方で、全角スペースが含まれていると、意図した通りに動作しない場合があります。
margin: 20px;
見た目では違いに気付きにくいため、コピー&ペーストしたコードを使用している場合は特に注意しましょう。Visual Studio Code(VSCode)などのエディタを使用すると、構文エラーや不要な文字を発見しやすくなります。
CSSの優先順位が影響している
CSSファイルが正しく読み込まれており、記述ミスもないのにスタイルが反映されない場合は、CSSの優先順位が影響している可能性があります。CSSでは、同じ要素に対して複数のスタイルが指定された場合、優先順位の高いものが適用されます。そのため、「CSSを書いたのに反映されない」と思っていても、実際には別のスタイルによって上書きされているケースがあります。
インラインCSSが優先される
HTMLに直接記述するインラインCSSは、外部CSSや内部CSSよりも優先して適用されます。
例えば、外部CSSで文字色を青色に指定していても、HTML側で別の色を指定するとインラインCSSが優先されます。
/* style.css */
p {
color: blue;
}
<p style="color: red;">
サンプルテキスト
</p>
この場合、実際に表示される文字色は赤色になります。
そのため、外部CSSを修正しても変更が反映されない場合は、HTMLタグにstyle属性が指定されていないか確認してみましょう。
関連記事:「HTMLにCSSを埋め込む方法を解説|外部CSS・内部CSS・インラインCSSの違いも紹介」
詳細度によって上書きされる
CSSには「詳細度(Specificity)」という考え方があります。詳細度とは、どのセレクタを優先して適用するかを決める仕組みのことです。
例えば、同じ要素に対してクラスセレクタとIDセレクタで異なるスタイルを指定した場合、詳細度の高いIDセレクタが優先されます。
.title {
color: blue;
}
#main-title {
color: red;
}
<h1 id="main-title" class="title">
サンプル見出し
</h1>
この場合、見出しの文字色は赤色で表示されます。
一般的には、以下の順で優先度が高くなります。
- インラインCSS(style属性)
- IDセレクタ(#)
- クラスセレクタ(.)
- 要素セレクタ(p、h1など)
また、同じ種類のセレクタであれば、後から記述したCSSが優先されます。
p {
color: blue;
}
p {
color: red;
}
この場合は後から記述した赤色が適用されます。
CSSが反映されないように見える場合は、記述ミスだけでなく、他のスタイルによって上書きされていないかも確認してみましょう。
ブラウザ側が原因の場合もある
CSSファイルの読み込み設定や記述内容に問題がない場合でも、ブラウザ側の影響によって変更内容が反映されないことがあります。
特に開発中は、CSSを修正したにもかかわらず古いデザインが表示され続けることがあります。そのような場合は、ブラウザのキャッシュを疑ってみましょう。
キャッシュが残っている
キャッシュとは、Webページの表示速度を向上させるために、ブラウザがHTMLやCSS、画像などのデータを一時的に保存する仕組みです。通常は便利な機能ですが、CSSを更新したあとも古いファイルが表示される原因になることがあります。
例えば、CSSで文字色を変更したにもかかわらず、ブラウザには以前のデザインが表示されたままになるケースがあります。
p {
color: blue;
}
を
p {
color: red;
}
に変更しても、キャッシュが残っていると青色のまま表示されることがあります。
CSSを修正したのに反映されない場合は、まずキャッシュの影響を疑ってみましょう。
スーパーリロードを試す
キャッシュが原因の場合は、スーパーリロードを行うことで最新のファイルを再読み込みできます。
スーパーリロードとは、ブラウザに保存されたキャッシュを無視して、サーバーやローカルファイルから最新のデータを取得する機能です。
主なショートカットキーは以下の通りです。
| 環境 | ショートカットキー |
| Windows | Ctrl + F5 |
| Mac(Chrome・Firefoxなど) | Command + Shift + R |
CSSを修正した直後は、通常の再読み込みではなくスーパーリロードを試してみるのがおすすめです。それでも反映されない場合は、ブラウザのキャッシュを削除したり、シークレットウィンドウで表示を確認したりすると原因を切り分けやすくなります。HTMLやCSSが反映されないときはコードばかりを見直すのではなく、ブラウザ側の影響も考慮しながら確認を進めましょう。
CSSが反映されないときの確認手順
CSSが反映されない原因はさまざまですが、やみくもにコードを書き直しても解決しないことが少なくありません。効率よく原因を見つけるためには、順番に確認していくことが大切です。ここでは、初心者の方でも実践しやすい確認手順を紹介します。
読み込み確認
まずはCSSファイルが正しく読み込まれているか確認しましょう。CSSがまったく反映されていない場合は、ファイルの読み込み設定に問題がある可能性が高くなります。
以下の項目を確認してみてください。
- linkタグが記述されているか
- href属性のパスが正しいか
- ファイル名や拡張子に誤りがないか
特に初心者の方は、ファイルパスやファイル名の入力ミスによってCSSが読み込まれていないケースがよくあります。まずは「CSSファイル自体が読み込まれているか」を確認することが重要です。
記述確認
CSSファイルが読み込まれている場合は、次にコードの記述内容を確認します。
例えば、以下のようなミスがないかチェックしましょう。
- クラス名やID名のスペルミス
- 「.」や「#」の付け忘れ
- 全角スペースや全角記号の混入
- CSSプロパティ名の入力ミス
コードが長くなると見落としやすいため、CSSが反映されない箇所の周辺を重点的に確認するのがおすすめです。また、エディタのエラーメッセージや警告表示が出ていないかも確認してみましょう。
優先順位確認
読み込みや記述に問題がない場合は、CSSの優先順位を確認します。
同じ要素に複数のスタイルが指定されている場合、優先順位の高いスタイルが適用されるためです。例えば、外部CSSで設定したスタイルがインラインCSSによって上書きされていることがあります。
<p style="color: red;">
サンプルテキスト
</p>
このような場合、外部CSSで色を変更しても反映されません。CSSが反映されないと感じたら、他のスタイルによって上書きされていないか確認してみましょう。
「読み込み確認 → 記述確認 → 優先順位確認」の順番でチェックしていくと、多くのトラブルは解決できます。原因を一つずつ切り分けながら確認することが、素早く解決するためのポイントです。
HTMLとCSSを効率良く学ぶ方法
CSSが反映されないトラブルは、HTMLやCSSを学び始めたばかりの方が一度は経験する問題です。しかし、エラーを解決する経験を積むことで、コードを読む力や問題解決力も身についていきます。HTMLとCSSの基礎を効率良く習得するためには、実際に手を動かしながら学習を進めることが大切です。
実際にコードを書きながら学習する
HTMLやCSSは、記事や動画を見るだけではなかなか身につきません。実際にコードを書き、表示結果を確認しながら学習することで理解が深まります。
例えば、文字色や背景色を変更したり、今回紹介したようなCSSの読み込み設定を試したりするだけでも、多くの知識を身につけられます。
h1 {
color: blue;
}
p {
font-size: 18px;
}
また、あえてエラーを発生させて原因を探してみるのも効果的です。CSSが反映されない原因を自分で調べて解決する経験は、実践的なスキルの習得につながります。まずは小さなWebページを作りながら、HTMLとCSSの基本的な使い方に慣れていきましょう。
独学が不安ならプログラミングスクールもおすすめ
HTMLやCSSは独学でも学びやすい技術ですが、「エラーの原因がわからない」「学習方法が正しいのか不安」と感じる方も少なくありません。特に、CSSが反映されない問題は原因が複数考えられるため、初心者のうちは解決に時間がかかることがあります。
独学に不安がある場合は、質問できる環境を活用するのもおすすめです。
忍者CODEでは、HTMLやCSSの基礎から実践的なWeb制作スキルまで体系的に学習できます。動画教材で学びながら、わからない部分はチャットサポートで質問できるため、初心者でも安心して学習を進められます。
効率良くスキルを身につけたい方は、学習環境にもこだわりながらHTMLとCSSの学習を進めてみましょう。
まとめ
本記事では、HTMLやCSSが反映されない原因と対処法について解説しました。
CSSが反映されない場合は、必ずしもコードそのものに問題があるとは限りません。CSSファイルの読み込み設定やファイルパス、ファイル名の間違いなど、基本的な設定ミスが原因になっていることも多くあります。また、スペルミスや「.」「#」の付け忘れ、全角スペースの混入などの記述ミスによってスタイルが適用されないケースもあります。さらに、CSSの優先順位やブラウザキャッシュが影響している場合もあるため、原因を一つずつ切り分けながら確認することが大切です。
CSSが反映されないときは、以下の順番で確認してみましょう。
- CSSファイルが正しく読み込まれているか
- ファイルパスやファイル名に誤りがないか
- CSSやHTMLに記述ミスがないか
- 他のスタイルによって上書きされていないか
- ブラウザキャッシュが残っていないか
HTMLやCSSの学習では、エラーを解決する経験そのものがスキルアップにつながります。今回紹介した確認方法を参考にしながら、原因を一つずつ特定できるようになりましょう。
ぜひ実際にコードを書きながら試してみて、HTMLとCSSの理解を深めてみてください。






