CSSを上書きする際の注意点とルールを初心者にもわかりやすく解説

2024.01.03
CSSを上書きする際の注意点とルールを初心者にもわかりやすく解説

既にCSSが指定されている要素に、別のCSSを指定する。

これをCSSの上書きといいます。

共通のCSSを解除し、部分的に別のCSSを指定するときなど、使う機会は頻繁にあります。

本記事では、CSSの上書きのルールと注意点についてまとめたので、ぜひ参考にしてください。

上書きのルールと注意点を把握して、綺麗なコーディングができるようになりましょう。

CSSを下に記述して上書きする

まず、基本の仕様です。

同じセレクタにCSSが指定されていた場合、下にある記述が優先されます。

例えば以下のような場合です。

CSS
p {
font-size:10px;
}
p{
font-size:16px;
}

pタグにfont-sizeが別々に指定されています。

優先されるのは下の記述なので、font-sizeは16pxとなります。

CSS
p {
font-size:10px;
font-size:16px;
}

上記のように同時に指定されていたとしても、下の記述が優先されます。

また、以下のHTMLのように複数のCSSを読み込んでいた場合、下に書かれている「style2.css」の記述が優先されます。

HTML
<link rel="stylesheet" href="style1.css">
<link rel="stylesheet" href="style2.css">

最初に全ページ共通のCSSを読み込ませて、その下にページごとの固有のCSSを読み込ませるという記述法がよく使われています。

classセレクタを使ってCSSを上書きする

classが指定されているセレクタは、通常のセレクタより優先度が高くなります。

CSS
p.sample {
font-size:10px;
}
p{
font-size:16px;
}

下にある記述が優先されるのが基本ですが、classが指定されているセレクタは、上に記述されていたとしても何も指定されていないセレクタより優先度が高くなります

この場合の、font-sizeは10pxです。

IDセレクタを使ってCSSを上書きする

IDが指定されたセレクタも、classが指定されたセレクタと同様、何も指定されていないセレクタより優先度が高くなります。

IDはclassよりも強力です。

CSS
p#sampleid {
font-size:10px;
}
p.sample{
font-size:16px;
}

IDとclassがバッティングした場合は、記述位置を問わずIDが優先されます。この場合、font-sizeは10pxです。

要素を特定するclassやIDは、要素まで記述されている方が優先度が高くなります。

CSS
p.sample {
font-size:10px;
}
.sample{
font-size:16px;
}

要素が指定されていない「sample」よりも、pタグの「sample」の方が強いということです。

入れ子にしてCSSを上書きする

セレクタの中のセレクタと詳細に指定すると、優先度が高くなります

CSS
div p {
font-size:10px;
}
p{
font-size:16px;
}

この場合、通常のpタグより、divタグの中にあるpタグという記述が優先されます。

ただし、IDやclassが記述されたセレクタがある場合は、入れ子は関係なくそちらが優先されます。

Importantを使ってCSSを上書きする

もっとも優先度が高い記述法です。

CSS
p {
font-size:10px!important;
}

このように値のあとに「!important」をつけると、最優先でされます。

全体の記述順や、HTMLの構造を無視してCSSを指定できるので非常に便利ですが、使い過ぎには気をつけなければなりません。

importantは「最優先」です。

色々なところに使っていては、どれが本当の最優先なのか分からなくなってしまいます。importantが絡んでいる箇所に修正が発生すると、必要以上に大がかりな作業となってしまうかもしれません。

乱用は控え、本当に必要になったときにだけ使いましょう。

また、影響範囲が大きい箇所への使用にも気を付けてください。他に影響が出ない、ピンポイントのセレクタにのみ使用することをおすすめします。

CSSを上書きする上での注意点

CSSの上書きは多くのサイトで行われています。

まず最初にデフォルトのスタイルを指定し、パーツパーツで個別のスタイルを上書きしていくという方法はスタンダードと言えるでしょう。

しかし、闇雲に上書きを繰り返すのは好ましくありません。

優先順位が邪魔をして、スムーズにCSSの追加ができない可能性があります。

CSSはその場その場で追記していくのではなく、計画性をもって記述しましょう。

そうすることで、簡潔で分かりやすいスマートなCSSが作れます。

修正があった場合なども、必要最小限の上書きで事足りるでしょう。

しかし、大規模なサイトを長期間運用していると、上書きに上書きを重ねるといったことも起きてしまいがちです。

そうなってしまったときは、いつの追記なのか、なんのための追記なのかなどをコメントタグでメモしておくと分かりやすくなります。

後からなんの記述なのか分からなくなってしまうということはよくあるので、おすすめです。

まとめ

CSSの上書きについて解説してきました。

下にある記述が優先されるというのが基本です。

そこにセレクタや要素の特定、入れ子などを織り交ぜて用いることで、効率的な記述が可能になるでしょう。

ただし、無造作にこれらを乱用すると、逆に分かりにくくなってしまうので気を付けてください。

また、Importantは必要最小限に留めるよう心掛けてください。

\プログラミングスクールを比較/

DMM WEBCAMP

COACHTECH

RUNTEQ

DMM WEBCAMP COACHTECH RUNTEQ
目指せる姿 WEBエンジニアへの転職
フリーランスエンジニア WEBエンジニアへの転職
分割払い
補助金 ×
転職保証 × ×
受講期間 12週間〜 3ヶ月〜 5ヶ月〜
特徴 【IT業界の転職を一番に考えたい方向け】
大手DMMが運営のプログラミングスクール
転職成功率98.8%
豊富なキャンペーンや補助金制度あり
【フリーランスを目指したい方向け】
フリーランスのエンジニアを最短で目指す
エンジニアと共に実際の案件開発を担当
【とことん勉強してから転職したい方向け】
1,000時間(約9カ月)のカリキュラムでしっかり勉強
企業の求める即戦力のWEBエンジニアを目指す
料金 329,350円〜
※給付金適用後
42万9,000円~ 55万円

公式HP

公式HP

公式HP

関連記事

資料請求

  • 短期集中で最速エンジニア転職を実現-転職成功者インタビュー一覧

    DMM WEBCAMPでは転職成功率98%を実現しています。本資料では、元警察官や元ラーメン屋など様々なバックグラウンドを持つ卒業生の声をお届けします。

    資料をダウンロードする
  • IT技術がもたらす3つの変化と身につけるべきスキル

    IT技術の発展により、今後10~20年程度で47%の仕事がなくなると言われています。どのような変化が訪れ、私達はどのようなスキルを身につけるべきかを解説します。

    資料をダウンロードする
  • 未経験がフリーランスエンジニアになる方法-年収アップで自由な働き方を手に入れる

    働き方改革やリモートワークの影響でフリーランスという働き方の人気は高まりつつあります。フリーランスエンジニアとして活躍するために必要な情報をお届けします。

    資料をダウンロードする

© 2024 WEBCAMP MEDIA Powered by AFFINGER5