概要と目標
フォントやテキストに関する
プロパティを覚えよう。
文字の大きさや文字の太さなど、
フォントやテキストに関するプロパティを学習しましょう。
文字の大きさや文字の太さなど、
フォントやテキストに関するプロパティを学習しましょう。
font-size プロパティ
font-sizeは、文字の大きさを変更するプロパティ。
様々な値が指定できるが、アクセシビリティの観点から「px」などの絶対単位の使用は控える。
初期値は「medium」でブラウザで設定している基準のフォントサイズになる。(多くのブラウザの初期値は 16px)
| 初期値 | 値の継承 | 適用対象 | 相対値の基準 |
|---|---|---|---|
medium |
する | 全要素 | 親要素の font-size |
| 指定できる値 | 説明 |
|---|---|
| 実数 + 単位 | 実数に単位を付けて指定 (例: 1.5em など) |
| パーセンテージ | 親要素の font-size に対するパーセンテージで指定 (例: 150%) |
| キーワード |
|
font-sizeプロパティを<h1>フォント関連のプロパティ</h1>
<p>
ここはp要素でマークアップされており、<br>
何のスタイルも適用していません。
</p>
<hr>
<p class="font1">
ここはp要素でマークアップされており、<br>
class属性に「<em>font1</em>」が指定されています。
</p>
<hr>
<p class="font2">
ここはp要素でマークアップされており、<br>
class属性に「<em>font2</em>」が指定されています。
</p>
.font1 {
font-size: .75em;
}
.font2 {
font-size: 2em;
}
font-family プロパティ
font-familyは、書体を指定するプロパティ。
書体名や書体の種類を表すキーワードで指定する。
覧者の環境に指定した書体がない場合に備え「, (半角カンマ)」区切りで複数の候補を指定する。
適用させたい順に候補を指定し、利用可能書体があればその書体が適用される。
| 初期値 | 値の継承 | 適用対象 |
|---|---|---|
| ブラウザで設定されているフォント | する | 全要素 |
| 指定できる値 | 説明 |
|---|---|
| 書体名 | フォントファミリーの名称を指定。(フォント名に スペースがある場合は、引用符で囲む) |
| 総称名 |
|
font-familyプロパティを.font1 {
font-size: .75em;
font-family: 游ゴシック, sans-serif;
}
.font2 {
font-size: 2em;
font-family: 游明朝, "ヒラギノ明朝 ProN W3", HG明朝E, serif;
}
font-familyは、多くのWebサイトが以下のようなフォントを指定している。body {
font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", sans-serif;
}
body {
font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "MS P明朝", serif;
}
font-weight プロパティ
font-weightは、文字の太さを指定するプロパティ。
太さを表すキーワードで指定するか、太さの数値で指定する。
| 初期値 | 値の継承 | 適用対象 |
|---|---|---|
normal |
する | 全要素 |
| 指定できる値 | 説明 |
|---|---|
normal |
適用書体の標準の太さ。(400に相当) |
bold |
適用書体の太字の太さ。(700に相当) |
lighter |
1段階細くなる |
bolder |
1段階太くなる |
| 数値 | 100, 200, 300, 400, 500, 600, 700, 800, 900( normalとbold以外のウエイトが存在するフォントへの数値のウエイト) |
font-weightプロパティをh1」要素の文字の太さを「ノーマル」、h1 {
font-weight: normal;
}
.font1 {
font-size: .75em;
font-family: 游ゴシック, sans-serif;
font-weight: bold;
}
.font2 {
font-size: 2em;
font-family: 游明朝, "ヒラギノ明朝 ProN W3", "HG明朝E", serif;
}
font-style プロパティ
font-styleは、文字のスタイル (斜体、イタリック体)を指定するプロパティ。
スタイルを表すキーワードで指定する。
ただし、日本語のフォントには「イタリック体」や「斜体」がないものがあるので、
いくら指定しても標準で表示される場合もある。
| 初期値 | 値の継承 | 適用対象 |
|---|---|---|
normal |
する | 全要素 |
| 指定できる値 | 説明 |
|---|---|
normal |
標準のフォントで表示される |
italic |
イタリック体のフォントで表示される (ない場合は斜体のフォントで表示) |
oblique |
斜体のフォントで表示 (ない場合はイタリック体のフォントで表示) |
font-styleプロパティをem」要素のスタイルを「ノーマル」、h1 {
font-weight: normal;
}
em {
font-style: normal;
}
.font1 {
font-size: .75em;
font-family: 游ゴシック, sans-serif;
font-weight: bold;
font-style: italic;
}
.font2 {
font-size: 2em;
font-family: 游明朝, "ヒラギノ明朝 ProN W3", "HG明朝E", serif;
}
line-height プロパティ
line-heightは、行の高さの最小値を指定するプロパティ。
(行内にimg要素などの置換インライン要素がある場合、その高さが行の高さの計算に使われる。)
非置換インライン要素に指定する場合は、行の高さの計算に使われる値となる。
| 初期値 | 値の継承 | 適用対象 | 相対値の基準 |
|---|---|---|---|
normal |
する | 全要素 | 要素自身のfont-size |
| 指定できる値 | 説明 |
|---|---|
normal |
ユーザーの環境によって異なる。 (フォントファミリーによっても異なり、おおよそ 1.2 というデフォルト値になる) |
| 実数 |
要素自身のフォントサイズに対する倍率 (例: 1.5)(継承時の予期しない結果を避けるために、最適な方法) |
| 実数 + 単位 |
行ボックスの高さ
(例: 1.5em など)
|
| パーセンテージ |
要素自身の font-size に対するパーセンテージで指定
(例: 150%)
|
line-heightプロパティをbody」要素の行間を「1.5」に、2」にする
body {
line-height: 1.5;
}
h1 {
font-weight: normal;
}
em {
font-style: normal;
}
.font1 {
font-size: .75em;
font-family: 游ゴシック, sans-serif;
font-weight: bold;
font-style: italic;
line-height: 2;
}
.font2 {
font-size: 2em;
font-family: 游明朝, "ヒラギノ明朝 ProN W3", "HG明朝E", serif;
}
font プロパティ
fontは、ここまで紹介してきたフォント関連のプロパティを一括で指定するプロパティ。
各プロパティの値は半角スペースで区切って指定する。(line-heightの値を除く)
ただし、各プロパティの値を指定する順番にルールがあるので注意する。
| 指定できる値 | 説明 |
|---|---|
font-style の値 |
font-style プロパティに指定できる値 |
font-weight の値 |
font-weight プロパティに指定できる値 |
font-size の値 |
font-size プロパティに指定できる値 必須 |
line-height の値 |
line-height プロパティに指定できる値 |
font-family の値 |
font-family プロパティに指定できる値 必須 |
上記以外でも指定できる値もあるが、現時点では使用できないものや、日本語環境であまり使わないものが多い。
fontは、各プロパティの値を半角スペースで区切って指定する。(line-height以外)
ただし、下記のルールに従って、順番に指定する必要がある。
font-styleとfont-weightの値を指定 (どちらが先でもよく、省略時は、normal となる)font-sizeの値を指定 (省略不可)font-sizeの後ろに「/(スラッシュ)」を付けて、line-heightの値を指定 normal となる)font-familyの値を指定 (省略不可)fontプロパティを使ってみようfontプロパティ」で書き換える。body {
line-height: 1.5;
}
h1 {
font-weight: normal;
}
em {
font-style: normal;
}
.font1 {
/*
font-size: .75em;
font-family: 游ゴシック, sans-serif;
font-weight: bold;
font-style: italic;
line-height: 2;
*/
font: italic bold .75em/2 游ゴシック, sans-serif;
}
.font2 {
font-size: 2em;
font-family: 游明朝, "ヒラギノ明朝 ProN W3", "HG明朝E", serif;
}
text-align プロパティ
text-alignは、テキストの行揃えを指定するプロパティ。
ブロックレベル要素に指定し、中のインライン要素の行揃えを行う。
| 初期値 | 値の継承 | 適用対象 |
|---|---|---|
start |
する | ブロック |
| 指定できる値 | 説明 |
|---|---|
left |
左揃え |
center |
中央揃え |
right |
右揃え |
justify |
両端揃え |
start |
文章の方向が左から右であれば left 、右から左であれば right CSS3 新 |
end |
文章の方向が左から右であれば right 、右から左であれば left CSS3 新 |
match-parent |
start と end の値を親要素の direction に従って、left か right に置き換える CSS3 新 |
text-alignプロパティを使ってみよう<h1>テキスト関連のプロパティ</h1>
<p>
ここはp要素でマークアップされており、<br>
何のスタイルも適用していません。
</p>
<hr>
<p class="text1">
ここはp要素でマークアップされており、<br>
class属性に「<em>text1</em>」が指定されています。<br>
<a href="#">これはアンカーテキストです。</a>
</p>
<hr>
<p class="text2" lang="en">
It is marked up with p elements,<br>
and "<em>text2</em>" is specified in the class attribute.<br>
<a href="#">This is anchor text.</a>
</p>
</body>
</html>
text2」に行揃えを指定する
.text1 {
text-align: right;
}
.text2 {
text-align: center;
}
text-decoration プロパティ
text-decorationは、テキストの装飾を指定するプロパティ。
CSS3より、text-decoration-color、text-decoration-line、text-decoration-style のショートハンド(一括設定)用のプロパティになったが、
ここでは、CSS2.1 での内容で記載。
| 初期値 | 値の継承 | 適用対象 |
|---|---|---|
none |
しない | 全要素 |
| 指定できる値 | 説明 |
|---|---|
none |
装飾なし |
underline |
下線 |
overline |
上線 |
line-through |
打ち消し線 |
text-decorationプロパティをa要素」の下線をなしに、「em要素」に、打ち消し線を指定する
a {
text-decoration: none;
}
em {
text-decoration: line-through;
}
.text1 {
text-align: right;
}
.text2 {
text-align: center;
}
text-transform プロパティ
text-transformは、アルファベットを大文字や小文字に変換するプロパティ。
ソースコード上に全て大文字でかけばそのまま大文字で表示されるが、
音声読み上げソフトなどが正しく読み上げられない可能性がある。
| 初期値 | 値の継承 | 適用対象 |
|---|---|---|
none |
する | 全要素 |
| 指定できる値 | 説明 |
|---|---|
uppercase |
半角のアルファベットをすべて大文字に変換 |
lowercase |
半角のアルファベットをすべて小文字に変換 |
capitalize |
半角のアルファベットの各単語の先頭の文字だけを大文字に変換 |
none |
変換せずにそのまま表示 |
text-transformプロパティをa {
text-decoration: none;
}
em {
text-decoration: line-through;
}
.text1 {
text-align: right;
}
.text2 {
text-align: center;
text-transform: uppercase;
}
letter-spacing プロパティ
letter-spacingは、文字間のスペースを指定するプロパティ。
| 初期値 | 値の継承 | 適用対象 |
|---|---|---|
normal |
する | 全要素 |
| 指定できる値 | 説明 |
|---|---|
normal |
通常の空き量 |
| 実数 + 単位 | デフォルトの文字間に加えるスペース量を指定。負の値も指定可能 (例: -.03em) |
letter-spacingプロパティをa {
text-decoration: none;
}
em {
text-decoration: line-through;
}
.text1 {
text-align: right;
letter-spacing: -.05em;
}
.text2 {
text-align: center;
text-transform: uppercase;
letter-spacing: .1em;
}
「chapter02」 › 「training」フォルダ内に「style.css」を作成し、
下記の問題を解いて下さい。
| プロパティ | 値 |
|---|---|
| 文字の書体 | 「游明朝」なければ、「ヒラギノ明朝 ProN W3」なければ、「HG明朝E」なければ、 明朝系 |
| 行間 | 1.6 |
| プロパティ | 値 |
|---|---|
| 文字の大きさ | 1.5em |
| 文字の太さ | normal |
| プロパティ | 値 |
|---|---|
| テキストの行揃え | 中央揃え |
| 文字の大きさ | 2em |
| 文字間のスペース | 0.1em |
| プロパティ | 値 |
|---|---|
| 文字の太さ | 太字 |
| 文字のスタイル | ノーマル |
| プロパティ | 値 |
|---|---|
| 文字の大きさ | 0.75em |
| プロパティ | 値 |
|---|---|
| テキストの行揃え | 右揃え |
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>架空温泉 だみい屋</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<h1>架空温泉 だみい屋</h1>
<nav>
<h2>サイト内メニュー</h2>
<ul>
<li><a href="#">お部屋</a></li>
<li><a href="#">お食事</a></li>
<li><a href="#">お風呂</a></li>
<li><a href="#">施設案内</a></li>
<li><a href="#">よくある質問</a></li>
<li><a href="#">ご宿泊プラン・予約</a></li>
</ul>
</nav>
</header>
<main>
<section>
<h2>大切な人と「ゆったり」過ごすお部屋。<br>ワンちゃんと「たっぷり」遊ぶお部屋。</h2>
<p>
だみい屋はビジネスや家族連れのお客様におすすめなスタンダードタイプのお部屋はもちろん、
カップルにおすすめの<em>離れ</em>や、わんちゃん連れにおすすめな<em>ドッグラン付き</em>のお部屋をご用意致しております。
</p>
<section>
<h3>ビジネスにおすすめ<br>スタンダード10畳</h3>
<p>一番多い部屋数があるスタンダードの10畳のお部屋です。</p>
<p class="text-right"><a href="#">スタンダード10畳の詳細を見る</a></p>
</section>
<section>
<h3>カップルにおすすめ<br>離れ</h3>
<p>プライベートな空間でゆったりできる、家族風呂付きの離れのお部屋です。</p>
<p class="text-right"><a href="#">離れの詳細を見る</a></p>
</section>
<section>
<h3>ワンちゃんにおすすめ<br>ドッグラン付き客室</h3>
<p>ワンちゃんと一緒に旅行を楽しめる。ドッグラン付きのお部屋です。</p>
<p class="text-right"><a href="#">ドッグラン付き客室の詳細を見る</a></p>
</section>
</section>
<section>
<h2>お客様の声</h2>
<p>だみい屋に寄せられた「お客様の声」の一部をご紹介します。</p>
<article>
<h3>抜群のコストパフォーマンス!</h3>
<p>部屋が広いくて料理もおいしい。繁華街からも近くてこの値段なら文句もないですね。</p>
<footer>
<p>S・Y さん</p>
</footer>
</article>
<article>
<h3>ドッグラン付きがうれしい!</h3>
<p>
温泉旅館で、ドッグランがついてる部屋があるのが嬉しいです。
ただ、畳は少し凸凹してました。ワンちゃんがお部屋の中で走ってるからかな?
まぁ私にとっては大満足な旅館でした。
</p>
<footer>
<p>山田 さん</p>
</footer>
</article>
</section>
</main>
<footer>
<address>
架空温泉 だみい屋<br>
〒56X-00XX<br>
大阪府架空市架空区架空1-1-1
</address>
<p><small>© 2018 架空温泉 だみい屋.</small></p>
</footer>
</body>
</html>
body {
font-family: 游明朝, "ヒラギノ明朝 ProN W3", "HG明朝E", serif;
line-height: 1.6;
}
h1 {
font-size: 1.5em;
font-weight: normal;
}
h2 {
text-align: center;
font-size: 2em;
letter-spacing: 0.1em;
}
em {
font-weight: bold;
font-style: normal;
}
small {
font-size: .75em;
}
.text-right {
text-align: right;
}
解答例は全問題のチェックボックスが on になるとご覧いただけます。
フォント関連やテキスト関連に様々なプロパティがある
今回紹介したプロパティ以外にもあるので、調べてみるとよい。
font-sizeは相対単位で指定する
text-transformで変換する