16
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

webに触れるなら知っておきたいCSSの優先度

Last updated at Posted at 2015-11-12

知っておきたいCSSの優先度

スタイルの優先度のルール

読み込んだHTML内のメディア指定のCSS
↓ない場合
読み込んだHTML内のもの->ブラウザにユーザーが設定したもの->ブラウザデフォルト
※HTML内でインライン指定されていれば以下を再優先
↓上記の中で
セレクタの優先度を計算する
↓重なった場合
後から読み込んだものを優先

セレクタの優先度の計算方法

セレクタには優先順位があり、点数を加算した結果、高得点のものが適用される。
点数が同じならば、後に書いたスタイルが優先される。

※但し桁を超えて適用されることはない(2015/11/13追記)
コメントに頂いたようにバージョン的に考えたほうが理解しやすいかもしれません

点数計算のやり方を以下に記述する

以下の点数を加算していく

セレクタ 点数
全称セレクタ * 0
タイプセレクタ p 1
擬似要素 :first-child 1
- - 超えられない壁
擬似クラス [type="text"] 10
classセレクタ .fugafuga 10
- - 超えられない壁
idセレクタ #piyopiyo 100
- - 超えられない壁
要素に直書き style="" 1000

計算例

計算 合計点
style="" 1000(style属性) 1000点
#hoge 100(ID属性) 100点
.a.b.c.d.e.f.g.h.i.j.k 10(クラス属性) * 11 110点 ※(2015/11/13追記)クラス属性をいくら集めてもID属性の100点を超えられない
li.color.label 1(要素名) + 10(クラス属性) + 10(クラス属性) 21点
table tr td.color 1(要素名) + 1(要素名) + 1(要素名) + 10(クラス属性) 13点
div + *[href$="com"] 1(要素名) + 0(全称セレクタ),+ 10(擬似クラス) 11点
h1 div + span 1(要素名) + 1(要素名) + 1(要素名) + 10(クラス属性) 3点
li:last-child 1(要素名) + 1(擬似要素) 2点
li:last-child 1(要素名) + 1(擬似要素) 2点

参考:ほんっとにはじめての HTML5

16
14
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?