CSS の適用方法

since: 21st/May/2002; Last Modified: 22nd/May/2002

2. style 要素

外部スタイルシートは、 HTML 文書とは別に保存されており、複数の HTML 文書に適用出来ます。外部スタイルシートを読み込んだ HTML 文書内で、当該文書だけに適用したいスタイルがあれば、当該 HTML ソース中に記述します。その為には、 head 要素内に style 要素を記述します。

たとえば、「ほとんどのスタイルは、他の HTML 文書と共有する外部スタイルシート通りだけれども、ほんの一部分だけは当該文書独自のスタイルを指定したい」と言う場合に有効です。

style 要素の記述は、 XHTML も HTML も変わりません。但し、スタイルシートを利用するときは必ず記述する meta 要素だけは、タグの末尾が異なります。

いずれにせよ、 head 要素内に次のような style 要素を挿入します。外部スタイルシートと併用する場合は、 link 要素よりも後ろに書く必要があります。

<style type="text/css">
p { background: #ddd }
</style>

XHTML の head 要素

上の style 要素を挿入した head 要素は次のようになっています。

<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" ?>
<style type="text/css">
p { background: #ddd }
</style>
</head>

外部スタイルシートを読み込まない場合は、 link 要素と xml-stylesheet 処理命令は不要です。

HTML 4 の head 要素

<head>
<meta http-equiv="content-type" content="text/html; 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">
<style type="text/css">
p { background: #ddd }
</style>
</head>

外部スタイルシートを読み込まない場合は、 link 要素は不要です。

表示例

上記の head 要素を持つ HTML 文書をブラウザで表示すると、外部スタイルシートによるスタイルが、 style 要素によって上書きされている事が分かります。外部スタイルシートでは、段落の背景色が水色ですが、 style 要素では段落の背景色を灰色に指定しています。

前節で作成した sampleApply1.html の head 要素を、上記の head 要素に置き換えて、 sampleApply2.html として保存してください。ブラウザで開いて表示を確認してください。

style 要素を指定した例
図:style 要素を指定した例

style 要素の回避

style 要素は HTML 文書の head 要素に記述しますので、本文の body 要素とは分離されています。しかし、ファイルも分離して外部タイルシートにしたほうがメンテナンス効率は高まります。また、最低限度読み込むべき HTML 文書のバイトサイズは小さい方が望ましい事もあります。それほど優先順位が高いわけではないのですが、外部スタイルシートを使った方が望ましいでしょう。

たとえば、複数の HTML 文書で読み込む外部スタイルシートを atomic.css として、当該 HTML 文書だけで読み込む外部スタイルシートを sampleApply21.css と命名したとします。 style 要素に記述していたスタイル宣言は sampleApply21.css に記述します。

このとき、次のように head 要素の link 要素を二つ書けば、上のサンプルが再現されます。

XHTML の場合

<head>
<meta http-equiv="content-type" content="text/html; 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="./sampleApply21.css" type="text/css" media="screen" />
<?xml-stylesheet href="./sampleApply21.css" type="text/css" media="screen" ?>
</head>

HTML 4 の場合

<head>
<meta http-equiv="content-type" content="text/html; 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">
<link rel="stylesheet" href="./sampleApply21.css" type="text/css" media="screen">
</head>

sampleApply2.html の head 要素を上記のものに書き換えて、ファイル名を sampleApply21.html にして保存してください。

同時に、ファイル名を sampleApply21.css として、次の内容を記述して保存してください:

p { background: #ccc }

sampleApply21.html をブラウザで開くと、 style 要素度同様の効果が得られている事が確認できます。


Copyright © 2002 SUGAI, Manabu.. All Rights Reserved.