MENU

サイト運営者必見!CSSが反映されない場合の対処法

CSSコードを確認

CSSの変更がブラウザに反映されないという問題に直面することはよくあることですが、当事者にとってはまさに頭を悩ませる一大事です。

しかし、心配は無用です!この記事では、CSSがブラウザに反映されない際の一般的な原因と、それらを解決するための具体的な対処法を詳しく解説します。

キャッシュのクリア方法から、デベロッパーツールを使った効果的なトラブルシューティング、セレクタの優先順位の理解まで、一歩一歩丁寧に説明していきます。
また、CSSの構文ミスを見つけるコツや!importantの賢い使い方についても触れます。

この記事を読めば、あなたもCSSの問題をスムーズに解決できるようになります。では、一緒にCSSの不具合と上手に向き合っていきましょう!

目次

対処手順

STEP1及び2では、ブラウザの「デベロッパーツール(検証)」を使って、CSSの状況を確認します。
STEP3でCSSの記入誤りがないかを調査します。
STP4ではブラウザなどのキャッシュをクリアする方法を解説します。

STEP
CSSの状況を確認
STEP
取り消し線の有無を確認
STEP
CSSの構文エラーを確認
STEP
キャッシュをクリア

これらのステップを踏むことで、CSSが反映されない問題を解決できる可能性が高まります。
キャッシュの問題やCSSの構文ミスが原因の場合が多いため、これらのチェックをおこなうことが重要です。

CSSの状況を確認

Google Chromeの「デベロッパーツール」を使う方法を紹介します。

  1. Chromeで対象のページを開く。
  2. 右クリックをして検証をクリック
    キーボードのCtrl + Shift + I(Windows)またはCmd + Opt + I(Mac)を押しても同じ動作になります。
  3. elemntsタブをクリック
    このタブで、HTMLとCSSのコードを見ることができます。
  1. セレクターをクリック
    クリックするとアイコンが青色になります。
デベロッパーツール
  1. ページ上の調べたい箇所にマウスポインターを移動させてクリック
    左画面で網掛けになっている箇所が該当するHTMLコードです。
    ▶をクリックすると▼が表示されて下部にあるコードが分かります。
    右画面が該当するCSSコードです。
  2. CSSコードを確認する。

取り消し線の有無を確認

他のCSSによる上書きの確認

後から読み込まれたコードが優先されます。
例えばCSSを次のとおり記述すると、最後に読み込まれた「blue」が優先されて、「red」と「black」には取り消し線が引かれます。

p {color:red;}

p {color:black;}

p {color:blue;}

デベロッパーツール

セレクタによって優先順位(ID > クラス > タグ)が決まっている。

例えば次のとおりHTMLとCSSを記述した場合、最優先のidセレクターの「green」が選択されます。
それ以外は無効になって取り消し線が引かれます。

<p id=”element” class=”element2″>あいうえお</p>

/*タグセレクタ*/
p {color:red;}

/*idセレクタ*/
#element {color:green;}

/*classセレクタ*/
.element2 {color:blue;}

デベロッパーツール

CSSの記載方法によって優先順位が決まっている。

先程のセレクタ以外に色々な方法でCSSが記載できます。その優先度を表にまとめておきます。

優先
順位
記載方法記載例
1!important【HTML】
<p style=”color:red !important”>ABC</p>
2インラインスタイル【HTML】
<p style=”color:red “>ABC</p>
3IDセレクタ【HTML】
<p id=”aidi” style=”color:red”>ABC</p>
【CSS】
#aidi{color:blue;}
4クラスセレクタ【HTML】
<p class=”kurasu” style=”color:red”>ABC</p>
【CSS】
.kurasu{color:red;}
5タグセレクタ【HTML】
<p>ABC</p>
【CSS】
p{color:red;}
6追加CSS
7style.css
8ブラウザのデフォルトスタイル

CSSの構文エラーを確認

IDセレクタとクラスセレクタを間違うと、期待どおりの表示になりません。
例えば【HTML】<p #id=”aidi”>ABC</p>として、【CSS】を #aidi {color:red;}と表記しなければいけないところを誤って.aidi {color:red;}と記述するとaidiという名前のIDセレクタはないので、赤色で表示されません。

また全角スペースを入れてしまうミスは非常に発見しにくいです。
一般的に、不要な半角スペースは省略することを推奨します。

その他「0」と「o」の誤り、スペルの誤りなどが原因で、CSSが反映されないことがあります。

コラム

【CSSのセレクターの書き方】

  1. タグセレクター タグ名 {〜}
    p {color: red}
  2. idセレクター #id名{〜}
    #element {color: red}
  3. classセレクター #.class名{〜}
    .element {color: red}
  4. 複数のセレクターを設定 a,b,c{〜}
    p,#element,.element{color: red}
  5. 絞り込み設定 a b c{〜}
    p span{color: red}
    pタグの中のspanタグ部分だけ赤字にする。
  6. すべての要素を対象に設定 *{〜}
    * {color: red}
    記事内を対象にしていれば、その記事内のすべての文字が赤字

【表示位置を変更】

Google Chromeの「デベロッパーツール」の表示位置を変更できます。作業しやすい位置に変更して下さい。

  1. 右上にある3点リーダーをクリック
  2. 4種類の配置(別ウインドウ、画面左、画面下、画面右)から使いやすいものを選択
デベロッパーツール

【デベロッパーツールの拡大(Mac)】

デベロッパーツールの文字の拡大はCommand + ^です。
Command + +では拡大できません。

なお、縮小はCommand + -でおこなえます。

リセットはCommand + 0です。

キャッシュをクリア

キャッシュはサイトの読み込み時間を短縮するために、データを一時的に保存する仕組みのことです。

キャッシュは次のようなものがあります。

  • ブラウザキャッシュ
  • サーバーキャッシュ

ブラウザキャッシュはユーザーのコンピュータやデバイスなどのクライアントに保存されているキャッシュです。
一方、サーバーキャッシュはサーバーに保存されているキャッシュです。

キャッシュによってCSS変更前の状態が表示されてしまい、CSSが反映されないことが発生することがあります。

その対策として、ブラウザキャッシュやサーバーのキャッシュをクリアすることは、有効な方法になります。

ブラウザキャッシュ

ブラウザのキャッシュは、ウェブページのロード時間を短縮するために使用される機能です。
ブラウザは、以前に訪れたページのコピーをローカルに保存し、再訪時にはサーバーからのデータ取得ではなく、このキャッシュを利用してページを表示します。

しかし、この機能が原因で、新しく更新されたCSSが反映されない場合があります。
これは、ブラウザが古いキャッシュを使用してページを表示しているためです。特に、CSSの変更を行った後にページのスタイルが更新されていないように見える場合、キャッシュの問題が疑われます。

ブラウザのキャッシュをクリアする手順

Google Chromeの例を示します。

  1. Google Chromeを起動
  2. 右上の3点リーダーをクリック
  3. 閲覧履歴を消去…をクリック
Chrome
  1. 基本設定タブをクリック
  2. キャッシュされた画像とファイルをチェック
Chrome
スーパーリロード

スーパーリロードとはキャッシュをクリアするのではなく、キャッシュを無視して、WEBからデータを読み込む機能です。

「Ctrl」+「更新ボタン」でスーパーリロードができます。

CSSが反映されない場合、次のようにやってみましょう。

  1. 「更新ボタン」
  2. 「Ctrl」+「更新ボタン」(スーパーリロード)
  3. キャッシュをクリア

サーバーキャッシュ

サーバーキャッシュは、サーバーがウェブサイトのデータを一時的に保存し、高速にアクセスを提供するためのものです。

サーバーキャッシュをクリアすると、サーバー上に保存されたウェブサイトのデータが削除され、サーバーは新しいデータを生成してユーザーに提供するようになります。

この操作は、ウェブサイトのパフォーマンス改善や、更新された内容を反映させるためにおこなわれます。

Xserverを例にして操作手順を説明します。それ以外のレンタルサーバーも管理画面で確認して下さい。

【Xserverのキャッシュをクリアする手順】

  1. Xserverのサーバーパネルへログイン
  2. サーバーキャッシュ設定をクリック
Xserverサーバーパネル
  1. 該当するドメインの選択するをクリック
Xserverサーバーパネル
  1. キャッシュ削除タブをクリック
  2. 確認画面へ進むをクリック
Xserverサーバーパネル
  1. 削除するをクリック
Xserverサーバーパネル

もう1つ、テーマキャッシュのクリアの例として、WordPressテーマ「SWELL」の例を示しておきます。

【「SWELL」のキャッシュをクリアする手順】

  1. 「SWELL」が入っているWordPressを起動
  2. メニューバーのSWELL設定をクリック
    左サイドバーのSWELL設定をクリックしても同じです。
  3. リセットタブをクリック
SWELL
  1. キャッシュを削除をクリック
SWELL
  1. OKをクリック

FAQ

 CSSを更新したのに反映されないのはなぜですか?

後から読み込まれたCSSが優先されることや、セレクターの指定ミス、キャッシュの影響などが考えられます。

 IDセレクタとクラスセレクタの違いを教えてください。

IDはページ内でユニークな要素を、クラスは複数の要素を指定するのに用います。取り違えるとCSSが反映されません。

キャッシュをクリアすればCSSは必ず反映されますか?

多くの場合は反映されますが、他の原因がある場合もあるので、ブラウザのデベロッパーツールなどで調査が必要です。

スーパーリロードをしたほうがいいですか?

通常のリロードで反映されない場合に試す価値はあります。キャッシュを無視して読み込むためです。

 CSSの「!important」はどのような場合に使用すべきですか?

「!important」は、他のスタイルルールを上書きして特定のCSSプロパティを強制的に適用したい場合に使用します。しかし、多用するとコードの管理が難しくなるため、必要不可欠な場合に限って使用することを推奨します。

まとめ

CSSが反映されない際の解決策をブログでわかりやすく紹介します。

まず、ブラウザのデベロッパーツールでCSSの状態をチェックし、取り消し線がないか確認します。
セレクタの優先順位(ID > クラス > タグ)や!importantの使用を理解することが重要です。

次に、CSSの構文エラーを探し、例えばクラスセレクタはドット(.)から始まる点に注意が必要です。

最後に、ブラウザやサーバーのキャッシュをクリアし、必要に応じてスーパーリロードを行います。これらのステップにより、CSSの反映問題を効果的に解決できます。

目次