本文へ移動

トップお知らせ・ブログCSSの!importantはいつ使う

CSSの!importantはいつ使う?注意点と代替方法

CSSで指定した色や大きさが、なぜか反映されない。
そんなときに「!important を付ければ効く」と聞いたことがあるかもしれません。

この記事では、!important とは何か、使ってよい場面と、使わずに済ませる方法を解説します。

1.最優先の印は最後の手段

!important は、CSSの指定のあとに付けると、その指定をほかの指定より優先させる印です。

.button {
  color: #fff !important;
}

便利に見えますが、使いすぎると、あとから直すのが難しくなります。使う場面は、ほかの方法では直せないときに限りましょう。

使ってよい場面の例理由
プラグインや外部のCSSが、直接書き換えられないほかの方法で上書きできないことがある
どんな場合も必ず効かせたい、決まった役割の指定画面を読み上げる機能向けの隠し方など

2.使いすぎない方がよい理由

CSSには、どの指定を優先するかを決める仕組み(詳細度)があります。!important は、この仕組みを飛び越えて優先されます。

一度 !important を使うと、それを上書きするために、別の場所でも !important が必要になります。これをくり返すと、どの指定が効いているのか分からなくなり、少し直すだけでも時間がかかるようになります。

!important は、ほかの方法で直せないときの、最後の手段にしましょう。

3.!importantを使わずに済ませる方法

CSSの優先順位の仕組み

優先される順(強い順)例
!importantcolor: red !important;
HTMLに直接書いた stylestyle="color: red"
id のセレクタ#header
class のセレクタ.button
タグのセレクタp

同じ強さなら、あとに書いた指定が優先されます。

効かないときの直し方

  1. 01
    どの指定が効いているか確かめる

    ブラウザの開発者向けの機能で、要素を選び、どの指定が使われていて、どれが打ち消されているかを見ます。

  2. 02
    書く順番を見直す

    同じ強さなら、あとに書いた方が優先されます。読み込む順番も確かめます。

  3. 03
    セレクタを少しだけ具体的にする

    例:.button より .header .button の方が優先されます。

  4. 04
    どうしても直せないときだけ使う

    外部のCSSなどで、ほかに方法がない場合に限ります。

WordPressで使うときの注意

テーマのCSSを上書きするときは、子テーマや「追加CSS」で、セレクタを具体的にして上書きするのが基本です。子テーマについては、WordPressの子テーマとは?で解説しています。

4.よくある質問

!important を付けたのに、効きません。

ほかの場所でも !important が使われている可能性があります。その場合は、より具体的なセレクタの方や、あとに書いた方が優先されます。

!important を全部消してもよいですか?

まとめて消すと、表示が崩れることがあります。1つずつ、代わりの方法で直せるかを確かめながら減らしましょう。

HTMLに直接書いた style は、使ってもよいですか?

優先される力が強く、あとから直しにくいため、CSSのファイルにまとめて書くのがおすすめです。

どの指定が効いているか、分かりません。

ブラウザの開発者向けの機能で、要素を選ぶと、効いている指定と打ち消された指定が表示されます。

5.まとめ

!important は、CSSの指定を最優先にする印です。便利ですが、使いすぎるとあとから直しにくくなるため、最後の手段にしましょう。

  • まず、ブラウザの開発者向けの機能で、どの指定が効いているか確かめる
  • 書く順番や、セレクタの具体さで優先順位を調整する
  • 外部のCSSなど、ほかに方法がないときだけ使う

まずは、効かないCSSがあったら、!important を付ける前に、開発者向けの機能で原因を確かめてみましょう。

CSSが効かない、表示が思いどおりにならない場合は、浅草Web屋にご相談ください。

相談する

関連記事