ウェブサイトで適切なフォントを選ぶことは重要です!

フォント選択の重要性

適切なフォントを選ぶことは、読者がウェブサイトをどのように感じるかに大きな影響を与えます。

適切なフォントはブランドの強いアイデンティティを作り出すことができます。

読みやすいフォントを使用することも重要です。フォントはテキストに価値を加えます。また、フォントの色とテキストサイズを正しく選ぶことも重要です。

一般的なフォントファミリー

CSSでは、以下の5つの一般的なフォントファミリーがあります:

すべてのフォント名は、これらの一般的なフォントファミリーのうちのどれかに属します。

SerifとSans-serifの違い

SerifSans-serif の違い

注:コンピューターの画面では、Sans-serif フォントの方が Serif フォントよりも読みやすいとされています。

いくつかのフォントの例

一般的なフォントファミリー フォント名の例
Serif
  • Times New Roman
  • Georgia
  • Garamond
Sans-serif
  • Arial
  • Verdana
  • Helvetica
Monospace
  • Courier New
  • Lucida Console
  • Monaco
Cursive
  • Brush Script MT
  • Lucida Handwriting
Fantasy
  • Copperplate
  • Papyrus

CSSのfont-familyプロパティ

CSSでは、テキストのフォントを指定するためにfont-familyプロパティが使われます。

注:フォント名が複数語の場合は、”Times New Roman” のように引用符で囲む必要があります。

ヒント:font-familyプロパティは複数のフォント名を「フォールバック」システムとして保持するべきです。これにより、異なるブラウザやオペレーティングシステム間で最大限の互換性が確保されます。最初に望むフォントを指定し、最後に一般的なファミリー名を記述します(もし他のフォントが利用できない場合にはブラウザが代替フォントを選ぶため)。フォント名はコンマで区切ります。フォールバックフォントについての詳細は次の章で説明します。


.p1 {
  font-family: "Times New Roman", Times, serif;
}

.p2 {
  font-family: Arial, Helvetica, sans-serif;
}

.p3 {
  font-family: "Lucida Console", "Courier New", monospace;
}

CSSにはテキストをフォーマットするための多くのプロパティがあります。

テキストの色

colorプロパティはテキストの色を設定します。色は以下のように指定されます:

可能な色の値の完全なリストについては、CSS Color Valuesを参照してください。

ページのデフォルトのテキスト色は、bodyセレクタで定義されます。

>body {
  color: blue;
}

>h1 {
  color: green;
}

テキストの色と背景色

次の例では、background-colorプロパティとcolorプロパティの両方を定義します:

>body {
  background-color: lightgrey;
  color: blue;
}

>h1 {
  background-color: black;
  color: white;
}

>div {
  background-color: blue;
  color: white;
}

重要:視覚障害を持つ人々にとって、高いコントラストは非常に重要です。そのため、テキストの色と背景色(または背景画像)の間のコントラストが良好であることを常に確認してください!

CSS テキスト色プロパティ

プロパティ 説明
color テキストの色を指定します

アウトラインは、要素の境界線の外側に描かれる線です。

CSS アウトライン

アウトラインは要素の周囲に描かれる線で、境界線の外側に描かれて要素を目立たせます。

CSSには以下のアウトラインプロパティがあります:

注意:アウトラインはボーダーとは異なります!ボーダーと違い、アウトラインは要素の境界線の外側に描かれ、他のコンテンツと重なることがあります。また、アウトラインは要素の寸法の一部ではありません。要素の全幅と高さにアウトラインの幅が影響することはありません。

CSS アウトラインスタイル

outline-styleプロパティはアウトラインのスタイルを指定し、以下の値のいずれかを持つことができます:

異なるアウトラインスタイルのデモンストレーション:

p.dotted {outline-style: dotted; border: 1px solid black; outline-color: green; outline-width: 10px;}
p.dashed {outline-style: dashed; border: 1px solid black; outline-color: green; outline-width: 10px;}
p.solid {outline-style: solid; border: 1px solid black; outline-color: green; outline-width: 10px;}
p.double {outline-style: double; border: 1px solid black; outline-color: green; outline-width: 10px;}
p.groove {outline-style: groove; border: 1px solid black; outline-color: green; outline-width: 10px;}
p.ridge {outline-style: ridge; border: 1px solid black; outline-color: green; outline-width: 10px;}
p.inset {outline-style: inset; border: 1px solid black; outline-color: green; outline-width: 10px;}
p.outset {outline-style: outset; border: 1px solid black; outline-color: green; outline-width: 10px;}

結果:

点線のアウトライン。

破線のアウトライン。

実線のアウトライン。

二重線のアウトライン。

凹線のアウトライン。エフェクトはoutline-colorの値に依存します。

凸線のアウトライン。エフェクトはoutline-colorの値に依存します。

浮き出し線のアウトライン。エフェクトはoutline-colorの値に依存します。

沈み込み線のアウトライン。エフェクトはoutline-colorの値に依存します。

注意:次の章で詳しく学ぶ他のアウトラインプロパティは、outline-styleプロパティが設定されていない限り、いかなる影響も与えません!

すべてのHTML要素はボックスとして考えることができます。

CSS ボックスモデル

CSSでは、デザインやレイアウトについて語る際に「ボックスモデル」という用語が使われます。

CSSボックスモデルは基本的に、すべてのHTML要素を囲むボックスで構成されています。以下の要素からなります:

ボックスモデルにより、要素の周囲に境界線を追加したり、要素間のスペースを定義したりすることができます。

ボックスモデルのデモンストレーション:

ボックスモデル
div {
  width: 300px;
  border: 15px solid green;
  padding: 50px;
  margin: 20px;
}

要素の幅と高さ

すべてのブラウザで要素の幅と高さを正しく設定するためには、ボックスモデルがどのように機能するかを理解する必要があります。

重要:CSSで要素の幅と高さプロパティを設定するときは、コンテンツ領域の幅と高さのみが設定されます。要素の実際の幅と高さを計算するには、パディングとボーダーも含める必要があります。

この<div>要素は、全体の幅が350px、高さが80pxになります:

div {
  width: 320px;
  height: 50px;
  padding: 10px;
  border: 5px solid gray;
  margin: 0;

}

計算方法:

要素の全体の幅は以下のように計算されます:

要素の全体の幅 = 幅 + 左パディング + 右パディング + 左ボーダー + 右ボーダー

要素の全体の高さは以下のように計算されます:

要素の全体の高さ = 高さ + 上パディング + 下パディング + 上ボーダー + 下ボーダー

注意:マージンプロパティは、ボックスがページ上で占める総スペースに影響しますが、実際のボックスのサイズには含まれません。ボックスの全体の幅と高さはボーダーで止まります。

この要素の高さは50ピクセルで、幅は100%です。

CSS 高さと幅の設定

高さと幅のプロパティは、要素の高さと幅を設定するために使用されます。

高さと幅のプロパティは、パディング、ボーダー、またはマージンを含みません。これらは要素のパディング、ボーダー、およびマージンの内側の領域の高さ/幅を設定します。

CSS 高さと幅の値

高さと幅のプロパティには、以下の値が指定できます:

CSS 高さと幅の例

この要素は高さ200ピクセルで幅が50%です。

div {
  height: 200px;
  width: 50%;
  background-color: powderblue;
}

この要素は高さが100ピクセルで幅が500ピクセルです。

div {
  height: 100px;
  width: 500px;
  background-color: powderblue;
}

注意: 高さと幅のプロパティにはパディング、ボーダー、またはマージンは含まれません!これらは要素のパディング、ボーダー、およびマージンの内側の領域の高さ/幅を設定します。

最大幅の設定

最大幅のプロパティは、要素の最大幅を設定するために使用されます。

最大幅は、px、cmなどの長さの値、またはコンテイニングブロックの%で指定することができます。または、none(これがデフォルトです。最大幅がありません)に設定することもできます。

上記の<div>要素の問題は、ブラウザウィンドウが要素の幅(500px)よりも小さい場合に発生します。その場合、ブラウザはページに水平スクロールバーを追加します。

この状況では、代わりにmax-widthを使用することで、小さいウィンドウでのブラウザの処理を改善できます。

ヒント: ブラウザウィンドウを500pxより小さくドラッグして、2つの<div>の違いを確認してください!

この要素は高さが100ピクセルで最大幅が500ピクセルです。

div {
  max-width: 500px;
  height: 100px;
  background-color: powderblue;
}

すべてのCSS次元プロパティ

プロパティ 説明
height 要素の高さを設定します
max-height 要素の最大高さを設定します
max-width 要素の最大幅を設定します
min-height 要素の最小高さを設定します
min-width 要素の最小幅を設定します
width 要素の幅を設定します

この要素には70pxのパディングがあります。

CSS パディングプロパティ

CSSのパディングプロパティは、要素の内容の周囲にスペースを作成するために使用されます。これにより、定義されたボーダーの内側にスペースが作られます。

CSSを使用すると、パディングを完全に制御できます。要素の各側面(上、右、下、左)のパディングを設定するプロパティがあります。

パディング – 個々の側面

CSSには、要素の各側面のパディングを指定するためのプロパティがあります:

すべてのパディングプロパティは、以下の値を持つことができます:

ヒント: 負の値は許可されていません。

<div>要素の4つの側面すべてに異なるパディングを設定します:

div {
  padding-top: 50px;
  padding-right: 30px;
  padding-bottom: 50px;
  padding-left: 80px;
}

パディング – ショートハンドプロパティ

コードを短縮するために、すべてのパディングプロパティを1つのプロパティで指定することができます。

paddingプロパティは、以下の個々のパディングプロパティのショートハンドプロパティです:

以下はその動作方法です:

paddingプロパティに4つの値がある場合:

padding: 25px 50px 75px 100px;

4つの値を持つパディングショートハンドプロパティを使用します:

div {
  padding: 25px 50px 75px 100px;
}

paddingプロパティに3つの値がある場合:

padding: 25px 50px 75px;

3つの値を持つパディングショートハンドプロパティを使用します:

div {
  padding: 25px 50px 75px;
}

paddingプロパティに2つの値がある場合:

padding: 25px 50px;

2つの値を持つパディングショートハンドプロパティを使用します:

div {
  padding: 25px 50px;
}

paddingプロパティに1つの値がある場合:

padding: 25px;

1つの値を持つパディングショートハンドプロパティを使用します:

div {
  padding: 25px;
}

パディングと要素の幅

CSSのwidthプロパティは、要素の内容領域の幅を指定します。内容領域は、要素のパディング、ボーダー、マージンの内側です(ボックスモデル)。

したがって、要素に指定された幅がある場合、その要素に追加されるパディングは要素の合計幅に追加されます。これはしばしば望ましくない結果です。

<div>要素に幅300pxを指定します。ただし、<div>要素の実際の幅は350pxになります(300px + 左側のパディング25px + 右側のパディング25px):

div {
  width: 300px;
  padding: 25px;
}

パディングを増やしても要素の幅を300pxに保つには、box-sizingプロパティを使用します。これにより、要素はその実際の幅を維持し、パディングを増やすと利用可能なコンテンツスペースが減少します。

box-sizingプロパティを使用して、パディングの量に関係なく幅を300pxに保ちます:

div {
  width: 300px;
  padding: 25px;
  box-sizing: border-box;
}

その他の例

左のパディングを設定する

この例では、<p>要素の左パディングを設定する方法を示します。

右のパディングを設定する

この例では、<p>要素の右パディングを設定する方法を示します。

上のパディングを設定する

この例では、<p>要素の上パディングを設定する方法を示します。

下のパディングを設定する

この例では、<p>要素の下パディングを設定する方法を示します。

すべてのCSSパディングプロパティ

プロパティ 説明
padding すべてのパディングプロパティを1つの宣言で設定するためのショートハンドプロパティ
padding-bottom 要素の下パディングを設定します
padding-left 要素の左パディングを設定します
padding-right 要素の右パディングを設定します
padding-top 要素の上パディングを設定します

この要素には70pxのマージンがあります。

CSS マージンプロパティ

CSSのマージンプロパティは、要素の周囲にスペースを作成するために使用されます。これにより、定義されたボーダーの外側にスペースが作られます。

CSSを使用すると、マージンを完全に制御できます。要素の各側面(上、右、下、左)のマージンを設定するプロパティがあります。

マージン – 個々の側面

CSSには、要素の各側面のマージンを指定するためのプロパティがあります:

すべてのマージンプロパティは、以下の値を持つことができます:

ヒント: 負の値も使用できます。

<p>要素の4つの側面すべてに異なるマージンを設定します:

p {
  margin-top: 100px;
  margin-bottom: 100px;
  margin-right: 150px;
  margin-left: 80px;
}

マージン – ショートハンドプロパティ

コードを短縮するために、すべてのマージンプロパティを1つのプロパティで指定することができます。

marginプロパティは、以下の個々のマージンプロパティのショートハンドプロパティです:

以下はその動作方法です:

marginプロパティに4つの値がある場合:

margin: 25px 50px 75px 100px;

4つの値を持つマージンショートハンドプロパティを使用します:

p {
  margin: 25px 50px 75px 100px;
}

marginプロパティに3つの値がある場合:

margin: 25px 50px 75px;

3つの値を持つマージンショートハンドプロパティを使用します:

p {
  margin: 25px 50px 75px;
}

marginプロパティに2つの値がある場合:

margin: 25px 50px;

2つの値を持つマージンショートハンドプロパティを使用します:

p {
  margin: 25px 50px;
}

marginプロパティに1つの値がある場合:

margin: 25px;

1つの値を持つマージンショートハンドプロパティを使用します:

p {
  margin: 25px;
}

auto値

要素をコンテナ内で水平に中央に配置するために、marginプロパティをautoに設定できます。

要素は指定された幅を取り、残りのスペースは左右のマージン間で等しく分割されます。

margin: autoを使用します:

div {
  width: 300px;
  margin: auto;
  border: 1px solid red;
}

inherit値

この例では、<p class=”ex1″>要素の左マージンが親要素(<div>)から継承されます:

inherit値の使用:

div {
  border: 1px solid red;
  margin-left: 100px;
}

p.ex1 {
  margin-left: inherit;
}

すべてのCSSマージンプロパティ

プロパティ 説明
margin すべてのマージンプロパティを1つの宣言で設定するためのショートハンドプロパティ
margin-bottom 要素の下マージンを設定します
margin-left 要素の左マージンを設定します
margin-right 要素の右マージンを設定します
margin-top 要素の上マージンを設定します

すべての辺にボーダーがあります。

下辺に赤いボーダーがあります。

角が丸くなったボーダーがあります。

左辺に青いボーダーがあります。

CSS Border Style

border-styleプロパティは、表示するボーダーの種類を指定します。

以下の値が使用できます:

border-styleプロパティは、上辺、右辺、下辺、左辺に対して1つから4つの値を持つことができます。

さまざまなボーダースタイルのデモンストレーション:

p.dotted {border-style: dotted;}
p.dashed {border-style: dashed;}
p.solid {border-style: solid;}
p.double {border-style: double;}
p.groove {border-style: groove;}
p.ridge {border-style: ridge;}
p.inset {border-style: inset;}
p.outset {border-style: outset;}
p.none {border-style: none;}
p.hidden {border-style: hidden;}
p.mix {border-style: dotted dashed solid double;}

点線のボーダー。

破線のボーダー。

実線のボーダー。

二重線のボーダー。

溝付きボーダー。効果はborder-colorの値によって異なります。

隆起ボーダー。効果はborder-colorの値によって異なります。

インセットボーダー。効果はborder-colorの値によって異なります。

アウトセットボーダー。効果はborder-colorの値によって異なります。

ボーダーなし。

混合ボーダー。

CSSの背景プロパティは、要素に背景効果を追加するために使用されます。

これらの章では、以下のCSS背景プロパティについて学びます:

CSS background-color

background-colorプロパティは、要素の背景色を指定します。

ページの背景色は次のように設定されます:

body {
  background-color: lightblue;
}

CSSでは、色は以下の方法で指定されることが最も多いです:

その他の要素

任意のHTML要素に対して背景色を設定できます:

ここでは、<h1>、<p>、および<div>要素が異なる背景色を持ちます:

h1 {
  background-color: green;
}

div {
  background-color: lightblue;
}

p {
  background-color: yellow;
}

不透明度 / 透明度

opacityプロパティは、要素の不透明度/透明度を指定します。このプロパティは、0.0から1.0までの値を取ることができます。値が低いほど、透明度が高くなります:

div {
  background-color: green;
  opacity: 0.3;
}

注意:opacityプロパティを使用して要素の背景に透明度を追加すると、そのすべての子要素も同じ透明度を継承します。これにより、完全に透明な要素内のテキストが読みづらくなることがあります。

RGBAを使用した透明度

上記の例のように子要素に不透明度を適用したくない場合は、RGBA色値を使用します。次の例では、背景色に対して不透明度を設定し、テキストには適用されません:

CSS Colorsの章で学んだように、RGBを色値として使用できます。RGBに加えて、アルファチャンネル(RGBA)を使用して不透明度を指定することもできます。

RGBA色値は次のように指定されます:rgba(red, green, blue, alpha)。alphaパラメータは0.0(完全に透明)から1.0(完全に不透明)の間の数値です。

div {
  background: rgba(0, 128, 0, 0.3) /* 30%の不透明度の緑色の背景 */
}

CSS Background Color プロパティ

プロパティ 説明
background-color 要素の背景色を設定します

カラーは、事前定義されたカラー名、またはRGB、HEX、HSL、RGBA、HSLAの値を使用して指定します。

CSS カラー名

CSSでは、事前定義されたカラー名を使用して色を指定できます:

CSS/HTMLは140の標準カラー名をサポートしています。

CSS 背景色

HTML要素の背景色を設定できます:

<h1 style="background-color:DodgerBlue;">Hello World</h1>
<p style="background-color:Tomato;">Lorem ipsum...</p>

CSS テキストカラー

テキストの色を設定できます:

<h1 style="color:Tomato;">Hello World</h1>
<p style="color:DodgerBlue;">Lorem ipsum...</p>
<p style="color:MediumSeaGreen;">Ut wisi enim...</p>

CSS ボーダーカラー

ボーダーの色を設定できます:

<h1 style="border:2px solid Tomato;">Hello World</h1>
<h1 style="border:2px solid DodgerBlue;">Hello World</h1>
<h1 style="border:2px solid Violet;">Hello World</h1>

CSS カラー値

CSSでは、カラーをRGB値、HEX値、HSL値、RGBA値、およびHSLA値を使用して指定することもできます:

カラー名 “Tomato” と同じ:

カラー名 “Tomato” と同じですが、50% 透明:

<h1 style="background-color:rgb(255, 99, 71);">...</h1>
<h1 style="background-color:#ff6347;">...</h1>
<h1 style="background-color:hsl(9, 100%, 64%);">...</h1>

<h1 style="background-color:rgba(255, 99, 71, 0.5);">...</h1>
<h1 style="background-color:hsla(9, 100%, 64%, 0.5);">...</h1>