★CSSの基本

私たちはカジノサイトを独自にレビューしています。当社のリンクを通じてサインアップすると、追加料金なしで当社に手数料が発生する場合があります。

広告

■スタイルの優先順位

よりタグに近い、より後から読み込まれたスタイルが優先される

複数箇所でスタイルを指定すると、同じプロパティに異なる値が指定されてスタイルが競合することも起こりえます。
こうした場合には、よりタグに近いところで指定されたスタイルや、
より後から読み込まれたスタイルが優先されて、プロパティの値が上書きされます。

例えば、外部CSSファイルの指定では文字色を赤く、
<style>要素による文書単位の指定では黄色く、
style属性による局所的な指定では青く指定した場合には、
より後から読み込まれる値で上書きされるため青い文字となります。

p {color:red;}           /*赤色*/
p {color:yellow;}       /*黄色で上書き*/
p {color:blue;}          /*青色で上書き、この値が有効となる*/

セレクタの種類による優先順位

CSSではセレクタの種類が同じ場合には、最後に指定したスタイルが適用されますが、
種類の異なるセレクタによって同じプロパティが指定された場合には以下の規則に従って優先順位が決定されます。

  • idセレクタやclassセレクタなどの具体的・局所的なセレクタは、タイプセレクタや全称セレクタのような全般的なセレクタより優先される
  • idセレクタはclassセレクタより優先され、タイプセレクタは全称セレクタより優先される(idセレクタ > classセレクタ > タイプセレクタ > 全称セレクタ)
  • 要素を特定したidセレクタ・classセレクタは、要素を特定しないidセレクタ・classセレクタより優先される
  • 優先順位が同じになった場合は、最後に指定したスタイルが適用される
  • !importantを付けると最優先される

例えば、以下のようにid属性とclass属性が同時に指定された<p>要素に対して、
異なるセレクタで競合するスタイルを指定した場合を考えてみましょう。以下の使用例の
「何色になる?」の部分は何色になるでしょうか。

例:異なるセレクタで競合するスタイルを指定した場合

p#xyz {color:blue;}       /*要素を特定したidセレクタ*/
#xyz {color:green;}      /*要素を特定しないidセレクタ*/
p.abc {color:yellow;}     /*要素を特定したclassセレクタ*/
.abc {color:orange;}     /*要素を特定しないclassセレクタ*/
p {color:red;}              /*タイプセレクタ*/
* {color:purple;}          /*全称セレクタ*/

<!–p要素にはid属性とclass属性を同時に指定する–>
<p id=”xyz” class=”abc”>何色になる?</p>

↓↓↓
ブラウザ上の表示

何色になる?

CSSのルールでは、全称セレクタやタイプセレクタよりidセレクタやclassセレクタのような具体性の高いセレクタが優先されます。
また、idセレクタはclassセレクタより優先され、その中でも要素を特定したidセレクタが優先されます。
従ってセレクタの優先順位は、p#xyz > #xyz > p.abc > .abc > p > *となり、
color:blue;が最優先されるため、「何色になる?」の部分は青くなります。

!important を付けると最優先になる

CSSでは原則として、よりタグに近いところで指定されたスタイルや、
より後から読み込まれたスタイルが優先されますが、
!importantというキーワードを指定すると、その値が最優先されます。
!importantはウェブページの制作者が定義するスタイルシートだけではなく、
ユーザー定義スタイルシートやブラウザのデフォルトスタイルに記述しても有効です。

p {color:red !important;}     /*この値が最優先されて有効となる*/
p {color:blue;}                   /*後に記述しても上書きされない*/

ちなみにInternet Explorer6には、同じ宣言ブロック内に競合するスタイルを宣言している場合、
!importantを指定しても無効になるというバグがあるので注意してください。

p {
color:red !important;       /*仕様ではこの値が有効となる*/
color:blue;                     /*IE6では後に記述したこの値が有効となってしまう*/
}

この場合、宣言ブロックを分ける、不要なスタイル宣言をコメントにするなどの方法で回避することができます。

p {color:red !important;}     /*この値が最優先されて有効となる*/
p {color:blue;}                   /*宣言ブロックを分けたので、IE6でも上書きされない*/
もっと読む

ブラウザのデフォルトスタイル

一般的なブラウザでは、特にスタイルシートを指定しなくても、
<h1>要素は大きく太字で表示され、<blockquote>要素はインデント(字下げ)されて表示されます。
これは、ブラウザがデフォルトのスタイルシートを持っているためです。

Firefox、Netscape、Opera、Safariなどのブラウザでは、デフォルトCSSファイルを確認することができます。
例えば、Firefoxなら「Program FilesMozilla Firefoxres」、
Netscapeなら「Program FilesNetscapeNetscaperes」、
Operaなら「Program FilesOperastyles」の中に保存されています。

制作者の指定したスタイルが優先される

CSSではウェブサイトの制作者・閲覧者(ユーザー)・ユーザーエージェント(ブラウザ)のそれぞれによって
スタイルシートを定義することができますが、これらのスタイル定義が競合した際には、制作者が指定したスタイルが優先して適用されます。

次にユーザーが定義したスタイルが優先して適用され、制作者とユーザーがどちらもスタイルを定義していない場合には、
ユーザーエージェント(ブラウザ)のデフォルトスタイルが適用されます(制作者 > 閲覧者 > ユーザーエージェント)。

ユーザー定義スタイル

閲覧者(ユーザー)は自分の好みに応じて、ブラウザの機能でウェブページの表示スタイルを設定することができます。

例えば、Internet Explorerの場合は、メニューの[ツール]→[インターネットオプション]を選択します。
[ユーザー補助]→[ユーザースタイルシート]のなかの[自分のスタイルシートでドキュメントの書式を設定する]にチェックを入れて、
自分のスタイルシートを指定します。

Firefoxの場合は、メニューの[ツール]→[オプション]→[コンテンツ]→[フォントと配色]を選択して、
既定のフォントや配色などのスタイルを設定します。

<前へ 記事一覧へ 次へ>
広告

山田 太郎
テック・リード
山田太郎は、ウェブ開発やグラフィックスプログラミングに10年以上の経験を持つテクノロジーの専門家です。特にHTML5 CanvasやJavaScript、インタラクティブメディアに精通しており、動的なユーザーインターフェースや最先端のウェブアプリケーションの開発に携わってきました。複雑な図形描画や画像操作、リアルタイムグラフィックスに関する知識が豊富で、ウェブ技術の限界を追求する開発者たちにとって頼りになる存在です。知識の共有に情熱を持ち、初心者からプロフェッショナルまで幅広く支援するため、技術フォーラムやブログにも積極的に貢献しています。

ギャンブルガイド もっと見る

カジノファインダー

どのカジノが自分に最適か分からないですか?

サインアップは必要なく、1 分以内に最適なブックメーカーを簡単に見つけることができます。
カジノを探す
Back
質問
Select one of the following options
{"is_any_tile":true}

どのカジノが自分に最適か分からないですか?

Back
Restart
やったー!
これはあなたの選択に基づいた最高のカジノです...
57 users signed up
もっと表示する