• ベストアンサー

cssセレクタ優先度について

https://qiita.com/oh_rusty_nail/items/e896825cd54e5c0a3666 優先度の計算方法はわかっているのですが、以下の場合なぜそうなるかがわかりません。 htmlが <div id="hoge"><div id="poge"><h1>エイチワン(後半略 で h1{ font-size:10px}; #hoge > #poge{ font-size:50px} のcssの場合、id 2つある50pxが強そうに見えますが、なぜ要素のみのh1が勝つのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • tracer
  • ベストアンサー率41% (255/621)
回答No.1

前者は要素そのものを指定しているのに対し、後者は親要素に指定しているという違いがありますね。つまり、後者は継承を期待していることになります。 継承を期待するには、h1のfont-sizeがinheritである必要がありますが、それがh1の指定によって、10pxに指定されているため継承は成立しません。つまり、優先順位の問題ではないとうことです。 ちなみに、h1#hogeという要素があった場合は、タグ名で指定するよりID名で指定したほうが優先順位が高いです。これがいわゆる優先順位の話です。

muuming2001
質問者

お礼

なるほど、理解しました。 ありがとうございます。 そして手元で悩んでいた問題には user agent stylesheet も絡んでいました。謎がクリアになりスッキリです!

関連するQ&A