CSS

【CSS】important非推奨の理由と優先順位について

※ 当サイトではアフィリエイト広告を利用しています

【CSS】important非推奨の理由と優先順位について

この記事では「CSSのimportant非推奨の理由と優先順位」について解説していきます。

スタイルが効かないとき、importantの指定やスタイルの優先順位が影響していることがあります。

importantや優先順位について考えて適切に使う必要があります。

この記事を読むと...
  • important非推奨の理由が分かる
  • スタイルの優先順位が分かる

CSSが反映されなくてお悩みの方はこちらの記事も参考にしてみてください。

あわせて読む

importantとは

importantとは、CSSでスタイルの優先順位を最大まで上げる指定方法です。

例えば以下のように指定すると、文字色が赤に適用されます。

<p class="text">テキストてきすと</p>
.text {
  color: red !important;
}

.text {
  color: orange;
}
表示結果

通常、後述したCSSが適用されます。(!importantを使用しない場合、文字色はオレンジになる)

!importantを指定しているため、そのスタイルの優先順位が最大まで上がって、後述したCSSよりも優先される形になります。

importantが非推奨と言われる理由

仮にimportantが指定されていても、さらにimportantを指定すれば上書き可能です。

しかし、そればかり使用するとimportantだらけになります。

importantを多用しすぎると、優先順位を上げるのが困難になり、最終的にはCSSが効かなくなります。

そのため、基本的にはimportantを使用しないようにしましょう。

CSSの優先順位

CSSの優先順位は、以下のようになります。それぞれ指定の仕方によって優先順位が異なります。

指定優先度
タグのstyle属性style=”color:red;”1
id#test2
class.test3
属性セレクタa[href*=""]3
要素名h14
疑似要素:nth-child4
ユニバーサルセレクタ*5

以下のようにCSSを指定した場合、文字色がピンクのスタイルが適用されます。

<p class="text" id="text">テキストてきすと</p>
p {
  color: orange;
}

.box p {
  color: green;
}

.box .text {
  color: gray;
}


#text {
  color: red;
}

.box #text {
  color: pink;
}

.text {
  color: blue;
}
表示結果

idタグに対してスタイルを適用すると、優先順位が高くなります。また、.box #text のような形でスタイルを適用すると詳細度があがり、優先順位も上がります。

なお、importantを指定すると、指定されたスタイルの優先度は最大まで上がります。

p {
  color: orange !important; /* このスタイルが適用される */
}

.box p {
  color: green;
}


#text {
  color: red;
}


.box #text {
  color: pink;
}
.box .text {
  color: gray;
}

.text {
  color: blue;
}

まとめると、以下のようなイメージになります。

importantと優先順位

まとめ

CSSのimportant非推奨の理由と優先順位について解説しました。基本的にimportantは非推奨で、多用は避けるべきです。

どうしても使用したい場合は、優先したいスタイルのみに限定して使用しましょう。

  • この記事を書いた人
アバター画像

こうだい

兼業でWeb制作事業|31歳|本業畑違いで知識0から学習開始→1年目で初案件獲得→2年で月の兼業受注金額70万円達成|4年目で100万円達成|兼業でも稼げることを確信|Web制作メンター|制作費無料のホームページ制作事業運営|コーディング・ホームページ制作についてお気軽にお問い合わせください

-CSS
-,