CSSとはスタイルシートとも呼ばれていて、Webサイトのデザインやレイアウトなど見た目を整えるために必要なのですが、そのCSSをどうやってHTML文書に適用させるのか。
いくつか方法があります。
- 外部のスタイルシートを読み込む方法
- HTMLにstyle要素を記述する方法
- グローバル属性であるstyle属性を使う方法
- @import規則を使って読み込む方法
外部のスタイルシートを読み込む
一番よく使われている方法だと思うのですが、まず「style.css」のような外部のスタイルシートを読み込むという方法。
<title>外部のスタイルシートを読み込む</title>
<link rel=”stylesheet” href=”style.css”>
</head>
この方法は、link要素をHTML文書のhead内に記述して、CSSファイルを関連づけることで利用できます。
複数ページ(複数のHTML)があったとしても、1つのCSSファイルをそれぞれのHTMLで読み込ませることで、共通しているデザイン箇所の統一や変更というのが簡単にできるというメリットもあります。
関連記事
『linkタグの使い方!文書と外部リソースを関連づける【HTML】』
@charset規則で文字コードを指定する
外部のスタイルシートをHTMLに適用させる場合、CSSファイルの文書内で日本語を使う場合は文字コードを指定した方がいいとされていて、@charsetという規則を使って指定します。
文字コードを指定していないときは、関連づけているHTML文書と同じ文字コードで処理されます。
HTMLにstyle要素を記述する
外部のスタイルシートを読み込まず、HTMLに直接CSSを記述する方法もあります。
<title>HTMLにstyle要素を記述する</title>
<style type=”text/css”>
<!––
p {font-size: 14px;}
h1 {color: #ff0000;}
––>
</style>
</head>
styleタグを使ってHTMLのhead要素内にスタイルを記述することで、そのHTMLにCSSが適用されるということ。
その際は、スタイルシートに対応していないブラウザで、テキストとしてスタイルシートが表示されないようにするため、スタイルシート全体をコメントアウトにします。
HTMLにCSSを直接記述するこの方法は、ちょっとしたWebページを作るだけならいいかもしれませんが、1つのファイルのデータ量が増えるよりも、HTMLとCSSでファイルを分けた方がいい気がします。
styleタグで使用できる属性
styleタグを記述する際に使用できる属性についても触れておきたいと思います。
media(メディア)
media属性は、スタイルシートを適用する対象となるメディアタイプを指定します。
なお、media属性の値に関しては、メディアクエリである必要があります。
ちなみにメディアクエリとは、デバイスによってCSSファイルを分けるときに使われる技術のこと。
属性値 | 意味 |
---|---|
all | すべてのデバイス |
aural | 音声合成装置 |
braille | 点字用ディスプレイ |
embossed | 点字用プリンタ |
プリンタ | |
handheld | モバイルデバイス |
projection | プロジェクター |
screen | ディスプレイ |
tty | 文字幅が固定のデバイス |
tv | テレビ |
type(タイプ)
type属性は、テキスト・画像・動画・音声などのデータファイル形式を示すMIMEタイプと呼ばれるものを指定するために使うのですが、省略した場合は「text/css」と指定されるため、省略しても特に問題ありません。
一応MIMEタイプの種類も紹介しておきます。
MIMEタイプ | ファイル形式 |
---|---|
text/plain | プレーンテキスト |
text/html | HTMLファイル |
text/css | CSSファイル |
text/javascript | JavaScriptファイル |
img/jpeg | Jpegファイル |
img/png | PNGファイル |
img/gif | GIFファイル |
video/mp4 | MP4ファイル |
video/ogg | Oggファイル |
audio/mp3 | MP3ファイル |
audio/mp4 | MP4ファイル |
audio/wav | WAVEファイル |
audio/aac | AACファイル |
application/shockwave-flash | Flashファイル |
application/pdf | PDFファイル |
scoped(スコープド)
scoped属性はHTML5から定義された属性で、特定の範囲内だけにスタイルを適用させることができます。
基本的にスタイルの適用範囲というのは、scoped属性が指定された親要素内のみになります。
グローバル属性であるstyle属性を使う
styleはタグとしてだけではなく、属性としても使われることがあり、グローバル属性なので基本的にどの要素に対しても使うことができます。
そのグローバル属性としてのstyleを利用して、対象の要素にだけスタイルを適用することができます。
属性値にはCSSで記述するときと同様、プロパティと値を記述します。
これも一つの要素にだけスタイルを適用したいときなどには便利なんですが、同じようなスタイルを複数の要素で使うことになってくると、やはりスタイルシートなどで管理した方がいいと思います。
関連記事
『グローバル属性はHTMLの全ての要素に使うことができる』
@import規則を使って読み込む
最後に@import規則を使ってスタイルシートを読み込む方法です。
これはCSSやHTMLのstyle要素内に記述することで、外部のスタイルシートを読み込むことができます。
書き方としては、@importに続けて「url()」を記述し、カッコ内にCSSファイルがあるURLを指定します。
@import規則は他のプロパティの指定よりも先にくるように記述する必要があります。
CSSを適用させる方法まとめ
HTMLでWebサイトの構造をつくり、CSSでデザインやレイアウトを整えます。
CSSをHTML文書に適用させる方法としては、外部のCSSファイルを読み込んだり、HTMLに直接スタイルを記述するといった方法があることがわかりました。
[…] また、『CSSをHTML文書に適用させるいくつかの方法【CSS】』でスタイルをHTMLに適用させる方法を書いたのですが、その方法によってどのように優先順位が決まっているのか。 […]