CSSのユニバーサルセレクタと継承・優先度について

ユニバーサルセレクタとは?

CSSのユニバーサルセレクタは、またの名を「全称セレクタ」といいます。記述の仕方は*(アスタリスク)マークを用いて「*{プロパティ:値;}」です。そして、ユニバーサルセレクタは、「すべての要素に反映させる」効果を持っています。
例えば*{margin:0}と記述した場合、見出しでも段落でもdivでも、WEB上にある全ての要素のmarginが0に設定されます。現在、ブラウザごとに見出しの余白などのデフォルトスタイルが設定されていますが、ユニバーサルセレクタを利用することで、これらのデフォルトスタイルをリセットすることができます。
また「h1 * {}」と書いて、h1の中のすべての要素に反映させるなど、他の要素と組み合わせることも可能です。

ユニバーサルセレクタの注意点

ユニバーサルセレクタには使用の際にいくつかの注意点があります。
まず、ユニバーサルセレクタはその役割として「全ての要素」に反映されてしまいます。想定外の部分にも効果が現れることがあるため、過剰な仕様は控えたほうが良いでしょう。また、ユニバーサルセレクタは、基本的に優先度は最下位にあります。そのため、*{color:red}とa{color:black}と書いた場合、a{color:black}が優先されます。最後に、ユニバーサルセレクタはプロパティによっては「全ての要素」の中に含まれる要素まで継承されます。ユニバーサルセレクタの影響範囲は大きいため、CSS作成の際の最後の修正としてユニバーサルセレクタを使用するのはリスクが高いかもしれません。