CSSの基本的な書き方
@規則
ここで説明する「CSSの書き方」は外部ファイル(拡張子「.css」のファイル)としての書き方です。
順序が決まっているもの
- @charaset:文字コード
@charaset "Shift_JIS";
@charset "文字コード";と書きます。@charsetはスタイルシートの先頭に書きます。@charsetと"の間は半角スペース一つのみ。- 引用符にはダブルクォート(")を使います。
- 最後のダブルクォート(")の直後にセミコロン(;)を付けます。
- @import:別のスタイルシート取り込み
@import url("base_style.css");@importは@charsetを除く、全ての規則の前に位置しなければいけません。@import url("スタイルシートのURL");と書きます。- URLを文字列として
@import "スタイルシートのURL";と記述することもできます。 - URLとセミコロンの間に出力対象とするメディアタイプを記述できます。複数あるときはカンマで区切ります。何も指定されなかったときは、"
all"が指定されたものと見なされます。
その他の@規則
- @media:メディアタイプ(コンピュータ画面、印刷媒体など)別にスタイルを適用
- braille(点字)、embossed(点字プリンタ)、handheld(携帯電話のブラウザなど)、print(印刷されたページや、印刷プレビュー)、projection(投影機)、screen(コンピュータの画面)、speech(音声ブラウザ、スクリーンリーダーなど)、tty(テレタイプ、端末など)、tv(テレビ)
- @page
- ページボックスの大きさを設定したり特定のページに宣言を適用したりする際に使用(詳しくはページ媒体)
- @font-face
- フォントのきめ細かなマッチングを行う(詳しくはフォントを記述する(Font Descriptions and @font-face))
セレクタ
CSSでは、セレクタによってどの要素に対してスタイルを適用するのかを決定します。セレクタの条件がある要素に当てはまるとき、「セレクタがその要素にマッチ(match)する」と表現します。
| セレクタ名 | 形式 | 説明 | ブラウザ対応 | ||||
|---|---|---|---|---|---|---|---|
| 全称セレクタ | * | 全ての要素にマッチ | IE6 ○ | IE7 ○ | Fx2 ○ | Op9 ○ |
|
* {
margin: 0;
padding: 0;
}全ての要素のmarginとpaddingが0(ゼロ)になります。 |
|||||||
| タイプセレクタ | E | E要素にマッチ | IE6 ○ | IE7 ○ | Fx2 ○ | Op9 ○ |
|
h1 {
color: red;
font-size: 24px;
}h1要素の文字色はred、文字サイズは24pxになります。 |
|||||||
| 子孫セレクタ | E F | E要素の子孫であるF要素にマッチ | IE6 ○ | IE7 ○ | Fx2 ○ | Op9 ○ |
|
div em {
border-bottom: 1px dotted red;
font-style: normal;
}
<div>div要素の中の<em>em要素</em>に適用される。</div>
<div>div要素の中の<p>p要素の中の<em>em要素</em>にも適用される。</p></div>
|
|||||||
| 子供セレクタ | E > F | E要素の直接の子要素であるF要素にマッチ | IE6 × | IE7 ○ | Fx2 ○ | Op9 ○ |
|
div > em {
border-bottom: 1px dotted red;
font-style: normal;
}
<div>div要素の中の<em>em要素</em>に適用される。</div>
<div>div要素の中の<p>p要素の中の<em>em要素</em>には適用されない。</p></div> |
|||||||
| 隣接セレクタ | E + F | E要素の直後に来るF要素にマッチ | IE6 × | IE7 ○ | Fx2 ○ | Op9 ○ |
|
h1 + p {
border-top: 1px solid #000;
}
<h1>h1要素<h1>
<p>h1要素の直後にあるp要素に適用される。</p><p>h1要素の直後にないp要素には適用されない。</p>
|
|||||||
| クラスセレクタ | E.val | (X)HTMLではE[class~=val]に同じ | IE6 ○ | IE7 ○ | Fx2 ○ | Op9 ○ |
|
p.noice {
font-style: italic;
}
<p class="notice">「notice」というクラス属性を持つp要素に適用される。</p> |
|||||||
| IDセレクタ | E#myid | ID属性がmyidであるE要素にマッチ | IE6 ○ | IE7 ○ | Fx2 ○ | Op9 ○ |
|
p#myid {
font-weight: bold;
}
<p id="myid">「myid」というID属性を持つp要素に適用される。</p> |
|||||||
| 属性セレクタ | E[att] | att属性を持つE要素にマッチ | IE6 × | IE7 △ | Fx2 ○ | Op9 ○ |
|
| E[att=val] | att属性の値がvalであるE要素にマッチ | IE6 × | IE7 ○ | Fx2 △ | Op9 △ |
||
| E[att~=val] | att属性の値が空白文字類で区切られた値のリストであり、そのひとつがvalであるE要素にマッチ | IE6 × | IE7 △ | Fx2 △ | Op9 ○ |
||
| E[att|=val] | att属性の値がハイフンで区切られた値のリストであり、その1番目がvalであるE要素にマッチ | IE6 × | IE7 △ | Fx2 △ | Op9 ○ |
||
| 擬似クラス | :link疑似クラス | E:link | 未訪問のハイパーリンクのアンカーであるE要素にマッチ | IE6 ○ | IE7 ○ | Fx2 ○ | Op9 ○ |
| :visited擬似クラス | E:visited | 訪問済みのハイパーリンクのアンカーであるE要素にマッチ | IE6 ○ | IE7 ○ | Fx2 ○ | Op9 ○ |
|
| :hover擬似クラス | E:hover | マウスポインタで指し示されたE要素にマッチ | IE6 ○ | IE7 ○ | Fx2 ○ | Op9 ○ |
|
| :active擬似クラス | E:active | クリックなどでアクティブになったE要素にマッチ | IE6 ○ | IE7 ○ | Fx2 ○ | Op9 ○ |
|
| :focus擬似クラス | E:focus | タブキーなどでフォーカスが当てられたE要素にマッチ | IE6 × | IE7 × | Fx2 ○ | Op9 ○ |
|
| :first-child擬似クラス | E:first-child | 親要素から見て最初の子要素であるE要素にマッチ | IE6 × | IE7 △ | Fx2 △ | Op9 △ |
|
| :lang擬似クラス | E:lang(C) | Cという言語で書かれているE要素にマッチ | IE6 × | IE7 × | Fx2 ○ | Op9 △ |
|
| 擬似要素 | :first-line擬似要素 | E:first-line | E要素の1行目にマッチ | IE6 ○ | IE7 ○ | Fx2 ○ | Op9 ○ |
| :first-letter擬似要素 | E:first-letter | E要素の1文字目にマッチ | IE6 ○ | IE7 × | Fx2 ○ | Op9 ○ |
|
| :before擬似要素 | E:before | E要素の内容の直前に内容を挿入 | IE6 × | IE7 × | Fx2 ○ | Op9 ○ |
|
| :after擬似要素 | E:after | E要素の内容の直後に内容を挿入 | IE6 × | IE7 × | Fx2 ○ | Op9 ○ |
|