since: 21st/May/2002; Last Modified: 22nd/May/2002
本稿で作ったサンプルをまとめておきます
ここに挙げた HTML 文書は、全て XHTML 1.1 で記述したものです。 CSS ファイルに関しては、ブラウザでは開けないかもしれません。その場合は、ローカル PC に保存して、テキストエディタで開いてみてください。
スタイルシートの適用方法は複数ありますので、矛盾した記述が含まれる事があります。外部スタイルシートでは、段落の背景色を青にしているが、 style 要素では赤にしているなどの場合の事です。
外部スタイルシート、 style 要素、 style 属性の適用優先順位は次のようになります。
最初に外部スタイルシートが適用され、それを style 要素が上書きし、更に style 属性が上書きします。外部スタイルシートで段落の文字色を青に指定してあっても、 style 要素で赤に指定してあれば上書きされます。更に、 style 属性で緑に指定されていれば、その段落は最終的には緑色に指定された事になります。
複数の外部スタイルシートを適用している場合は、後ろに記述した link 要素が参照するスタイルシートほど、優先順位が高くなります。 たとえば、次のようなソースの場合を考えます:
<head> <meta http-equiv="content-type" content="application/xhtml+xml; charset=Shift_JIS" /> <meta http-equiv="content-style-type" content="text/css" /> <title>坂口安吾を考える</title> <link rel="stylesheet" href="./atomic.css" type="text/css" media="screen" /> <?xml-stylesheet href="./atomic.css" type="text/css" media="screen" ?> <link rel="stylesheet" href="./cool.css" type="text/css" media="screen" /> <?xml-stylesheet href="./cool.css" type="text/css" media="screen" ?> <link rel="stylesheet" href="./cover.css" type="text/css" media="screen" /> <?xml-stylesheet href="./cover.css" type="text/css" media="screen" ?> </head>
これは XHTML の場合の例です。最初に atomic.css が読み込まれ、次に cool.css が上書きし、最後に cover.css が上書きします。
外部スタイルシートでも style 要素でも、その中に記述する順番によっても優先順位が指定されます。最後に記述したものほど優先順位が高くなります。
次のようなスタイルシートを考えます:
h1 { text-aling: center;
color: navy;
text-align: right }
p { color: navy }
address { text-align: center }
p { color: maroon }
h1 要素に対するスタイルでは、 text-align が center と right の二通りが指定されています。実際に適用されるのは、後に記述された right の方です。
p 要素に対するスタイルでは、 color が navy と maroon の二通りが指定されています。実際に適用されるのは、後に記述された maroon の方です。