概要と目標
便利なセレクタと
ボックスの概念を理解する。
CSSの様々なセレクタやボックスの概念について学習しよう。
CSSの様々なセレクタやボックスの概念について学習しよう。
CSSのセレクタには、Chapter01で紹介した基本セレクタ以外にも、
属性セレクタや、擬似クラス、疑似要素、結合子など、
便利なセレクタがいっぱいある。
基本はタイプセレクタ、classセレクタ、IDセレクタ。
| セレクタ | 適用対象 | 詳細度 | IE6 | IE7 | IE8 |
|---|---|---|---|---|---|
| * |
ユニバーサルセレクタ。 全称セレクタとも呼ばれ、全ての要素に適用 (例: * { color: red })
|
- | ○ | ○ | ○ |
| 要素名 |
タイプセレクタ。 【要素名】の要素に適用 (例: p { color: red })
|
低 | ○ | ○ | ○ |
| 要素名.クラス名 |
classセレクタ。 class属性に【クラス名】を持つ、【要素名】に適用 (例: div.main { color: red })要素名を省略した場合、「*」を指定したことと同等となり、 そのclass属性を持つ全ての要素 に適用 (例: .main { color: red })
|
中 | ○ | ○ | ○ |
| 要素名#ID名 |
IDセレクタ。 ID属性に【ID名】を持つ、【要素名】に適用 (例: div#content { color: red })要素名を省略した場合、「*」を指定したことと同等となり、 そのID属性を持つ全ての要素に 適用される (例: #content { color: red })
|
高 | ○ | ○ | ○ |
属性セレクタを使えば、
特定の属性が指定されている要素や、 特定の属性に特定の属性値が指定されている要素など、
属性が指定されている要素に対してスタイルを適用出来る。
| セレクタ | 適用対象 | 詳細度 | IE6 | IE7 | IE8 |
|---|---|---|---|---|---|
要素[属性名] |
【属性名】の属性が指定されている要素に適用 (例: p[lang] { color: red })
|
中 | ✕ | ○ | ○ |
要素[属性名="属性値"] |
【属性名】の属性に【属性値】が指定されている要素に適用 (例: p[lang="en"] { color: red })
|
中 | ✕ | ○ | ○ |
要素[属性名~="属性値"] |
【属性名】の属性の値が半角スペースで区切られた項目であり、そのいずれ かが、【属性値】と一致している要素に適用 (例: p[lang~="en-us"] { color: red })
|
中 | ✕ | ○ | ○ |
要素[属性名|="属性値"] |
【属性名】の属性の値がハイフンで区切られた値であり、その前半が、【属性値】と一致している要素に適用 (例: p[lang|="en"] { color: red })
|
中 | ✕ | ○ | ○ |
要素[属性名^="属性値の始め"] |
【属性名】の属性が【属性値の始め】から始まる要素に適用 CSS3 新 (例: a[href^="http"] { color: red })
|
中 | ✕ | ○ | ○ |
要素[属性名$="属性値の終り"] |
【属性名】の属性が【属性値の終り】で終わる要素に適用 CSS3 新 (例: a[href$="com"] { color: red })
|
中 | ✕ | ○ | ○ |
要素[属性名*="属性値の一部"] |
【属性名】の属性に【属性値の一部】を含む要素に適用 CSS3 新 (例: a[href="product"] { color: red })
|
中 | ✕ | ○ | ○ |
擬似クラスは、要素が特定の状況の時にスタイルを適用するセレクタで、
例えば、その要素にマウスが乗った時や、マウスがクリックされた時などがある。
他にも、先頭の子要素として配置された時など特定の場所に配置された時だけスタイルを適用するものある。
| セレクタ | 適用対象 | 詳細度 | IE6 | IE7 | IE8 |
|---|---|---|---|---|---|
要素:link |
【要素】のリンク先をまだ訪問していない時に適用 (例: a:link { color: red })
|
中 | ○ | ○ | ○ |
要素:visited |
【要素】のリンク先を既に訪問済みの時に適用 (例: a:visited { color: red })
|
中 | ○ | ○ | ○ |
要素:hover |
【要素】にカーソルが乗っている時に適用 (例: a:hover { color: red })
|
中 | ○ | ○ | ○ |
要素:active |
【要素】をクリック中の時に適用 (例: a:active { color: red })
|
中 | ○ | ○ | ○ |
要素:focus |
【要素】がフォーカスされている時に適用 (例: input:focus { color: red })
|
中 | ✕ | ✕ | ○ |
| セレクタ | 適用対象 | 詳細度 | IE6 | IE7 | IE8 |
|---|---|---|---|---|---|
要素:first-child |
【要素】が最初の子要素の時に適用 (例: h2:first-child { color: red })
|
中 | ✕ | ○ | ○ |
要素:last-child |
【要素】が最後の子要素の時に適用 CSS3 新 (例: p:last-child { color: red })
|
中 | ✕ | ✕ | ✕ |
要素:first-of-type |
子要素の中で最初の【要素】に適用 CSS3 新 (例: p:first-of-type { color: red })
|
中 | ✕ | ✕ | ✕ |
要素:last-of-type |
子要素の中で最後の【要素】に適用 CSS3 新 (例: p:last-of-type { color: red })
|
中 | ✕ | ✕ | ✕ |
要素:nth-child(式) |
【要素】が先頭から【式】(○個目)に一致する子要素の時に適用 CSS3 新 (例: p:nth-child(2n+1) { color: red })
|
中 | ✕ | ✕ | ✕ |
要素:nth-last-child(式) |
【要素】が最後から【式】(○個目)に一致する子要素の時に適用 CSS3 新 (例: p:nth-last-child(2n+1) { color: red })
|
中 | ✕ | ✕ | ✕ |
要素:nth-of-type(式) |
先頭から【式】(○個目)に一致する【要素】に適用 CSS3 新 (例: p:nth-of-type(2n+1) { color: red })
|
中 | ✕ | ✕ | ✕ |
要素:nth-last-of-type(式) |
最後から【式】(○個目)に一致する【要素】に適用 CSS3 新 (例: p:nth-last-of-type(2n+1) { color: red })
|
中 | ✕ | ✕ | ✕ |
要素:only-child |
【要素】が唯一の子要素の時に適用 CSS3 新 (例: p:only-child { color: red })
|
中 | ✕ | ✕ | ✕ |
要素:only-of-type |
子要素の中で唯一の【要素】に適用 CSS3 新 (例: a:only-of-type { color: red })
|
中 | ✕ | ✕ | ✕ |
要素:root |
ルート要素(html要素)に適用 CSS3 新 (例: :root { color: red })
|
中 | ✕ | ✕ | ✕ |
要素:empty |
【要素】の中が空の時に適用 CSS3 新 (例: p:empty { color: red })
|
中 | ✕ | ✕ | ✕ |
| セレクタ | 適用対象 | 詳細度 | IE6 | IE7 | IE8 |
|---|---|---|---|---|---|
要素:checked |
【要素】(ラジオボタンやチェックボックス)が選択されている時に適用 CSS3 新 (例: input:checked { color: red })
|
中 | ✕ | ✕ | ✕ |
要素:disabled |
【要素】がdisabled属性で無効になっている時に適用 CSS3 新 (例: input:disabled { color: red })
|
中 | ✕ | ✕ | ✕ |
要素:enabled |
【要素】が有効の時に適用 CSS3 新 (例: input:enabled { color: red })
|
中 | ✕ | ✕ | ✕ |
| セレクタ | 適用対象 | 詳細度 | IE6 | IE7 | IE8 |
|---|---|---|---|---|---|
要素:lang(言語コード) |
【言語コード】の言語に設定されている【要素】に適用 (例: p:lang(ja) { color: red })
|
中 | ✕ | ✕ | ○ |
要素:target |
「#○○」が指定されているリンクをクリックした際の対象となる【要素】に適用 CSS3 新 (例: div:target { color: red })
|
中 | ✕ | ✕ | ✕ |
要素:not(セレクタ) |
【セレクタ】以外の【要素】に適用 CSS3 新 (例: p:not(.text) { color: red })
|
中 | ✕ | ✕ | ✕ |
疑似要素は、要素内の情報を追加したり、
先頭の行などの範囲にスタイルを適用する。
| セレクタ | 適用対象 | 詳細度 | IE6 | IE7 | IE8 |
|---|---|---|---|---|---|
要素::first-line |
【要素】(ブロックレベル要素)の1行目に適用 (例: p::first-line{ color: red })
|
低 | ○ | ○ | ○ |
要素::first-letter |
【要素】(ブロックレベル要素)の1文字目に適用 (例: p::first-letter { color: red })
|
低 | ○ | ○ | ○ |
要素::before |
【要素】の内容直前にコンテンツを追加 (例: p::before { content: ''})
|
低 | ✕ | ✕ | ○ |
要素::after |
【要素】の内容直後にコンテンツを追加 (例: p::after { content: ''})
|
低 | ✕ | ✕ | ○ |
※. IE8以下に対応する場合は、「:」を1つにする必要がある。
結合子は、セレクタを組み合わせる事で、複数の要素にスタイルを適用したり、
適用する要素を絞り込むことができる。
| セレクタ | 適用対象 | IE6 | IE7 | IE8 |
|---|---|---|---|---|
要素A, 要素B |
要素Aと要素Bにスタイルを適用 (例: h2, p{ color: red })
|
○ | ○ | ○ |
要素A 要素B |
子孫セレクタ。要素Aの中に配置されている要素Bにスタイルを適用 (例: div p{ color: red })
|
○ | ○ | ○ |
要素A + 要素B |
隣接セレクタ。要素Aに隣接している要素Bにスタイルを適用 (例: h2 + p{ color: red })
|
✕ | ○ | ○ |
要素A > 要素B |
要素Aに直接挟まれている要素Bにスタイルを適用 (例: ul > li{ color: red })
|
✕ | ○ | ○ |
要素A ~ 要素B |
【要素Aより後にある要素Bにスタイルを適用 CSS3 新 (例: h2 ~ p{ color: red })
|
✕ | ○ | ○ |
<h1>セレクタの練習</h1>
<section id="box1">
<h2>ボックス1</h2>
<p>
ここはp要素でマークアップされており、<br>
親のsection要素にid属性「<em>box1</em>」が指定されています。<br>
<a href="#">これはアンカーテキストです。</a>
</p>
</section>
<!-- /#box -->
<section id="box2">
<h2>ボックス2</h2>
<p>
ここはp要素でマークアップされており、<br>
親のsection要素にid属性「<em>box2</em>」が指定されています。<br>
<a href="#">これはアンカーテキストです。</a>
</p>
</section>
<!-- /#box2 -->
/* ===========================
基本セレクタ
=========================== */
/* 全称セレクタ */
* {
font-size: 100%;
}
/* ===========================
擬似クラス
=========================== */
/* 未訪問の時 */
a:link {
color: blue;
}
/* 訪問済みの時 */
a:visited {
color: green;
}
/* マウスが乗った時 */
a:hover {
color: red;
}
/* クリックしている時 */
a:active {
text-decoration: none;
}
/* ===========================
結合子
=========================== */
/* グループセレクタ */
h1, h2 {
font-family: serif;
}
/* 子孫セレクタ */
#box1 p {
color: #666;
}
同じ適用対象に対して、複数箇所で異なる指定がされた場合の優先度のことを詳細度という。
詳細度はセレクタの種類によって決まっており、
より詳細度が高いセレクタのスタイルが適用される。
なお、結合子を使って複数のセレクタを使っている場合は、
それぞれのセレクタの数を数えて、もっとも詳細度が高いスタイルが適用される。
詳細度が同じ場合は、後から記述されたスタイルが適用される。
!importantセレクタを構成する種類ごとに数を数え、それによって作られた3桁の数が大きい方が優先度が高くなる。
| 3桁目 | 2桁目 | 1桁目 |
|---|---|---|
| IDセレクタの数 | classセレクタ、属性セレクタ、 擬似クラスの数 |
タイプセレクタ、疑似要素の数 |
ユニバーサルセレクタの数は計算しません。
「:not()」擬似クラスは、()内のセレクタの数はカウントしますが、「:not()」自身は擬似クラスとしては、カウントしません。
※.この3桁の数字の各桁は、たとえ該当するセレクタが10個以上あっても、繰り上がらないものとして考えます。
つまり、仮にクラスセレクタが10個以上あっても、IDセレクタが1つある方が詳細度は高くなります。
HTMLの要素はボックスと呼ばれる四角い領域がある。
widthプロパティ
widthは、ボックスの要素内容を表示する幅を指定するプロパティ。
主に、センタリングする要素や、横並びする要素に指定する。
| 初期値 | 値の継承 | 適用対象 | 相対値の基準 |
|---|---|---|---|
auto |
しない | 全要素 (表の行、行グループ、非置換インライン要素を除く) | 包含ブロックの幅 |
| 指定できる値 | 説明 |
|---|---|
auto |
内容によって自動で合わせる (ブロック:横幅一杯、インラインブロック:img要素は画像の幅、その他はブラウザによる) |
| 実数 + 単位 | 実数に単位を付けて固定値を指定 (例: 690px) |
| パーセンテージ | 親要素の幅に対する割合 (例: 50%) |
widthプロパティを使ってみよう。<header>
<h1>ボックス関連のプロパティ</h1>
</header>
<main>
<div class="container">
<section class="section">
<h2>セクション1</h2>
<p>
ここはp要素でマークアップされており、<br>
親のsection要素のclass属性に「<em>section</em>」が指定されています。
</p>
</section>
<section class="section">
<h2>セクション2</h2>
<p>
ここはp要素でマークアップされており、<br>
親のsection要素のclass属性に「<em>section</em>」が指定されています。
</p>
</section>
</div>
<!-- /.container-->
</main>
<footer>
<p>ここはフッターです。</p>
</footer>
body {
background-color: #eee;
}
h1, h2 {
font-size: 1em;
}
p {
font-size: .875em;
}
header {
background-color: #333;
color: #fff;
}
footer {
background-color: #333;
color: #ccc;
}
.container {
width: 90%;
}
.section {
background-color: #fff;
}
heightプロパティ
heightは、ボックスの要素内容を表示する高さを指定するプロパティ。
基本的にはあまり使用しない方が無難。
| 初期値 | 値の継承 | 適用対象 | 相対値の基準 |
|---|---|---|---|
auto |
しない | 全要素 (表の行、行グループ、非置換インライン要素を除く) | 包含ブロックの幅 |
| 指定できる値 | 説明 |
|---|---|
auto |
内容によって自動で合わせる (ブロック:横幅一杯、インラインブロック:img要素は画像の幅、その他はブラウザよる) |
| 実数 + 単位 | 実数に単位を付けて固定値を指定 (例: 320px) |
| パーセンテージ | 親要素の幅に対する割合 (親要素の高さが指定されてない場合は「auto」になる) 例: 50% |
heightプロパティを使ってみよう。header要素」に高さと行間を指定body {
background-color: #eee;
}
h1, h2 {
font-size: 1em;
}
p {
font-size: .875em;
}
header {
background-color: #333;
color: #fff;
height: 48px;
line-height: 48px;
}
footer {
background-color: #333;
color: #ccc;
}
.container {
width: 90%;
}
.section {
background-color: #fff;
}
marginプロパティ
marginは、ボックスの外側の間隔を指定するプロパティ。
(margin-top、margin-right、margin-bottom、margin-leftのショートハンド)
ただし、上下に隣接するマージンがある場合は、相殺され大きい方の値だけが有効になる。
| 初期値 | 値の継承 | 適用対象 | 相対値の基準 |
|---|---|---|---|
0 |
しない | 全要素 (表の行、行グループ、列、列グループ、セル要素を除く) | 包含ブロックの幅 |
| 指定できる値 | 説明 |
|---|---|
auto |
適切な値に置換えられる |
| 実数 + 単位 | 実数に単位を付けて指定 (マイナスの値も許可されている) (例: 40px) |
| パーセンテージ | 親要素の幅に対する割合 (例: 50%) |
margin: 10px;margin: 10px 20px;margin: 10px 20px 5px;margin: 10px 20px 5px 15px;marginプロパティを使ってみよう。body {
background-color: #eee;
margin: 0;
}
h1, h2 {
font-size: 1em;
margin: 0;
}
p {
font-size: .875em;
margin: 0;
}
header {
background-color: #333;
color: #fff;
height: 48px;
line-height: 48px;
margin-bottom: 16px;
}
footer {
background-color: #333;
color: #ccc;
}
.container {
width: 90%;
margin: 0 auto;
}
.section {
background-color: #fff;
margin-top: 16px;
margin-bottom: 16px;
}
paddingプロパティ
paddingは、ボックスの内側の余白を指定するプロパティ。
(padding-top、padding-right、padding-bottom、padding-leftのショートハンド)
| 初期値 | 値の継承 | 適用対象 | 相対値の基準 |
|---|---|---|---|
0 |
しない | 全要素 (表の行、行グループ、列、列グループ、セル要素を除く) | 包含ブロックの幅 |
| 指定できる値 | 説明 |
|---|---|
| 実数 + 単位 | 実数に単位を付けて指定 (例: 40px) |
| パーセンテージ | 親要素の幅に対する割合 (例: 50%) |
padding: 10px;padding: 10px 20px;padding: 10px 20px 5px;padding: 10px 20px 5px 15px;paddingプロパティを使ってみよう。body {
background-color: #eee;
margin: 0;
}
h1, h2 {
font-size: 1em;
margin: 0;
}
p {
font-size: .875em;
margin: 0;
}
header {
background-color: #333;
color: #fff;
height: 48px;
line-height: 48px;
margin-bottom: 16px;
padding-left: 16px;
padding-right: 16px;
}
footer {
background-color: #333;
color: #ccc;
padding: 8px 16px;
}
.container {
width: 90%;
margin: 0 auto;
}
.section {
background-color: #fff;
margin-top: 16px;
margin-bottom: 16px;
padding: 16px;
}
border-styleプロパティ
border-styleは、ボックスの境界線のスタイルを指定するプロパティ。
(border-top-style、border-right-style、border-bottom-style、border-left-styleのショートハンド)
| 初期値 | 値の継承 | 適用対象 |
|---|---|---|
none |
しない | 全要素 (表の行、行グループ、列、列グループ、セル要素を除く) |
| 指定できる値 | 説明 |
|---|---|
none |
枠線なし (ボーダーの幅は 0 になる) |
hidden |
枠線なし (ボーダーの幅は 0 になる) |
solid |
実線 |
double |
2重線 |
dotted |
点線 |
dashed |
破線 |
groove |
立体枠 (窪み) |
ridge |
立体枠 (隆起) |
inset |
立体枠 (内側全体が窪み) |
outset |
立体枠 (内側全体が隆起) |
border-style: solid;border-style: solid dotted;border-style: solid dotted dashed;border-style: solid dotted dashed dashed;border-styleのサンプル<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>ボーダースタイル</title>
<link rel="stylesheet" href="style.css">
<style type="text/css">
p {
padding: 16px;
}
.none {
border-style: none;
}
.hidden {
border-style: hidden;
}
.solid {
border-style: solid;
}
.double {
border-style: double;
}
.dotted {
border-style: dotted;
}
.dashed {
border-style: dashed;
}
.groove {
border-style: groove;
}
.ridge {
border-style: ridge;
}
.inset {
border-style: inset;
}
.outset {
border-style: outset;
}
</style>
</head>
<body>
<h1>ボーダースタイル</h1>
<p class="none">none</p>
<p class="hidden">hidden</p>
<p class="solid">solid</p>
<p class="double">double</p>
<p class="dotted">dotted</p>
<p class="dashed">dashed</p>
<p class="groove">groove</p>
<p class="ridge">ridge</p>
<p class="inset">inset</p>
<p class="outset">outset</p>
</body>
</html>
border-widthプロパティ
border-widthは、ボックスの境界線の幅を指定するプロパティ。
(border-top-width、border-right-width、border-bottom-width、border-left-widthのショートハンド)
| 初期値 | 値の継承 | 適用対象 |
|---|---|---|
medium |
しない | 全要素 (表の行、行グループ、列、列グループ、セル要素を除く) |
| 指定できる値 | 説明 |
|---|---|
| 実数 + 単位 | 実数に単位を付けて指定 (例: 4px) |
thin |
細い |
medium |
標準 |
thick |
太い |
border-width: 10px;border-width: 10px 20px;border-width: 10px 20px 5px;border-width: 10px 20px 5px 15px;border-widthのサンプル<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>ボーダーの幅</title>
<link rel="stylesheet" href="style.css">
<style type="text/css">
p {
padding: 16px;
border-style: solid;
}
.border1 {
border-width: 1px;
}
.border2 {
border-width: thick thin;
}
</style>
</head>
<body>
<h1>ボーダーの幅</h1>
<p class="border1">border1</p>
<p class="border2">border2</p>
</body>
</html>
border-colorプロパティ
border-colorは、ボックスの境界線の色を指定するプロパティ。
(border-top-color、border-right-color、border-bottom-color、border-left-colorのショートハンド)
| 初期値 | 値の継承 | 適用対象 |
|---|---|---|
color の値 |
しない | 全要素 (表の行、行グループ、列、列グループ、セル要素を除く) |
| 指定できる値 | 説明 |
|---|---|
| color値 | 境界線のcolor値 (例: #808080 など) |
transparent |
透明 |
border-color: #ccc;border-color: #ccc #000;border-color: #ccc #000 red;border-color: #ccc #000 red blue;border-colorのサンプル<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>ボーダーの色</title>
<link rel="stylesheet" href="style.css">
<style type="text/css">
p {
padding: 16px;
border-style: solid;
}
.border1 {
border-color: #ddd;
}
.border2 {
border-color: #000 #666 #ccc #eee;
}
</style>
</head>
<body>
<h1>ボーダーの色</h1>
<p class="border1">border1</p>
<p class="border2">border2</p>
</body>
</html>
borderプロパティ
borderは、ボーダー関連のプロパティを一括で指定するプロパティ。
(border-top、border-right、border-bottom、border-leftのショートハンド)
指定したいプロパティの値を順不同で半角スペース区切りで指定する。
ただし省略したプロパティは、「初期値」にリセットされる。
| 初期値 | 値の継承 | 適用対象 |
|---|---|---|
| 各プロパティに準ずる | しない | 全要素 (表の行、行グループ、列、列グループ、セル要素を除く) |
| 指定できる値 | 説明 |
|---|---|
border-style の値 |
border-style に指定できる値 |
border-width の値 |
border-width に指定できる値 |
border-color の値 |
border-color に指定できる値 |
border の場合は、「上下左右」全てに適用 ・・・ 例: border: 1px solid #ddd;border-top の場合は、「上」に適用 ・・・ 例: border-top: 1px solid #ddd;border-right の場合は、「右」に適用 ・・・ 例: border-right: 1px solid #ddd;border-bottom の場合は、「下」に適用 ・・・ 例: border-bottom: 1px solid #ddd;border-left の場合は、「左」に適用 ・・・ 例: border-left: 1px solid #ddd;borderプロパティを使ってみよう。h2要素に境界線を設定する
body {
background-color: #eee;
margin: 0;
}
h1,h2 {
font-size: 1em;
margin: 0;
}
p {
font-size: .875em;
margin: 0;
}
header {
background-color: #333;
color: #fff;
height: 48px;
line-height: 48px;
margin-bottom: 16px;
padding-left: 16px;
padding-right: 16px;
}
footer {
background-color: #333;
color: #ccc;
padding: 8px 16px;
}
.container {
width: 90%;
margin: 0 auto;
}
.section {
background-color: #fff;
margin-top: 16px;
margin-bottom: 16px;
padding: 16px;
border: 1px solid #ddd;
}
.section h2 {
border-left: 4px solid #333;
border-bottom: 1px solid #ddd;
padding-left: 8px;
padding-bottom: 4px;
margin-bottom: 16px;
}
「chapter04」 › 「training」フォルダ内に「style.css」を作成し、
下記の問題を解いて下さい。
| プロパティ | 値 |
|---|---|
| 文字のサイズ | 1em |
| 間隔 (上下左右) | 0 |
| 余白 (上下左右) | 0 |
| プロパティ | 値 |
|---|---|
| 文字の書体 | 「游明朝」なければ、「ヒラギノ明朝 ProN W3」なければ、 「HG明朝E」なければ、 明朝系 |
| 行間 | 1.5 |
| 背景画像 | 「images」フォルダ内の「bg-washi.png」 |
| 文字の色 | #333333 |
| プロパティ | 値 |
|---|---|
| 幅 | 960px |
| 間隔 (上下) | 0 |
| 間隔 (左右) | 自動 |
| プロパティ | 値 |
|---|---|
| 背景色 | #1A1A1A |
| 文字の色 | #FFFFFF |
| 余白 (上下) | 24px |
| プロパティ | 値 |
|---|---|
| 余白 (上下) | 40px |
| プロパティ | 値 |
|---|---|
| 境界線の幅 (左) | 4px |
| 境界線のスタイル (左) | 実線 |
| 境界線の色 (左) | #1A1A1A |
| 余白 (左) | 8px |
| 間隔 (下) | 1em |
| 文字サイズ | 1.25em |
| プロパティ | 値 |
|---|---|
| 文字の色 | #64B5F6 |
| テキストの装飾 | なし |
| プロパティ | 値 |
|---|---|
| 背景の色 | #FFFFFF |
| 間隔 (上) | 1em |
| 余白 (上下左右) | 16px |
| 境界線の幅 (上下左右) | 1px |
| 境界線のスタイル (上下左右) | 実線 |
| 境界線の色 (上下左右) | #DDDDDD |
| プロパティ | 値 |
|---|---|
| 背景の色 | #1A1A1A |
| 文字の色 | #CCCCCC |
| 余白 (上下) | 16px |
| 文字のサイズ | 0.75em |
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>架空温泉 だみい屋</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header id="header">
<div class="container">
<h1>架空温泉 だみい屋</h1>
</div>
<!-- /.container -->
</header>
<main>
<section class="section">
<div class="container">
<h2 class="heading">大切な人と「ゆったり」過ごすお部屋。<br>ワンちゃんと「たっぷり」遊ぶお部屋。</h2>
<p>
だみい屋はビジネスや家族連れのお客様におすすめなスタンダードタイプのお部屋はもちろん、 カップルにおすすめの
<em>離れ</em>や、わんちゃん連れにおすすめな<em>ドッグラン付き</em>のお部屋をご用意致しております。
</p>
<section class="item">
<h3>ビジネスにおすすめ<br>スタンダード10畳</h3>
<p>一番多い部屋数があるスタンダードの10畳のお部屋です。</p>
<p><a href="#">スタンダード10畳の詳細を見る</a></p>
</section>
<section class="item">
<h3>カップルにおすすめ<br>離れ</h3>
<p>プライベートな空間でゆったりできる、家族風呂付きの離れのお部屋です。</p>
<p><a href="#">離れの詳細を見る</a></p>
</section>
<section class="item">
<h3>ワンちゃんにおすすめ<br>ドッグラン付き客室</h3>
<p>ワンちゃんと一緒に旅行を楽しめる。ドッグラン付きのお部屋です。</p>
<p><a href="#">ドッグラン付き客室の詳細を見る</a></p>
</section>
</div>
<!-- /.container -->
</section>
<section class="section">
<div class="container">
<h2>お客様の声</h2>
<p>だみい屋に寄せられた「お客様の声」の一部をご紹介します。</p>
<article class="item">
<h3>抜群のコストパフォーマンス!</h3>
<p>部屋が広いくて料理もおいしい。繁華街からも近くてこの値段なら文句もないですね。</p>
<footer>
<p>S・Y さん</p>
</footer>
</article>
<article class="item">
<h3>ドッグラン付きがうれしい!</h3>
<p>
温泉旅館で、ドッグランがついてる部屋があるのが嬉しいです。 ただ、畳は少し凸凹してました。ワンちゃんがお部屋の中で走ってるからかな? まぁ私にとっては大満足な旅館でした。
</p>
<footer>
<p>山田 さん</p>
</footer>
</article>
</div>
<!-- /.container -->
</section>
</main>
<footer id="footer">
<div class="container">
<address>
架空温泉 だみい屋<br>
〒56X-00XX<br>
大阪府架空市架空区架空1-1-1
</address>
<p><small>© 2018 架空温泉 だみい屋.</small></p>
</div>
<!-- /.container -->
</footer>
</body>
</html>
* {
font-size: 1em;
margin: 0;
padding: 0;
}
body {
font: 1em/1.5 游明朝, "ヒラギノ明朝 ProN W3", HG明朝E, serif;
background-image: url(images/bg-washi.png);
color: #333;
}
.container {
width: 960px;
margin: 0 auto;
}
#header {
background-color: #1a1a1a;
color: #fff;
padding: 24px 0;
}
.section {
padding: 40px 0;
}
.section h2 {
border-left: 4px solid #1a1a1a;
padding-left: 8px;
margin-bottom: 1em;
font-size: 1.25em;
}
.section a:hover {
color: #64B5F6;
text-decoration: none;
}
.item {
background-color: #fff;
margin-top: 1em;
padding: 16px;
border: 1px solid #ddd;
}
#footer {
background-color: #1a1a1a;
color: #ccc;
padding: 16px 0;
font-size: .75em;
}
解答例は全問題のチェックボックスが on になるとご覧いただけます。
CSSには様々なセレクタがあり、使いこなすと容易に各要素を識別できる。
また、ボックスの概念のプロパティはレイアウトを行う際に重要な役割を担う。
width、height、margin、padding、borderで成り立つ。heightは、基本使わない。