0Pricing
Frontend Academy · レッスン

色、タイポグラフィ、ボックスモデル

hex、rgb、hsl値で色を適用し、フォントを選び、サイズと行の高さを設定し、margin、border、paddingで要素間の間隔を調整します。

「色、タイポグラフィ、ボックスモデル」はCoddyKit上の無料Frontend Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはFrontend Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Frontend Academyコースには全4レッスンが含まれています。

CSSの色の値

CSSは複数の色形式に対応しています。文脈に応じて、最もわかりやすい形式を使ってください。ブランドカラーには16進数コード、色の調整にはhsl()、プログラムで扱う値にはrgb()、素早いプロトタイピングには名前付きカラーが適しています。

color: #2b6cb0;              /* hex */
color: rgb(43, 108, 176);    /* rgb */
color: hsl(212, 61%, 43%);   /* hsl */
color: royalblue;            /* named */
color: rgba(0,0,0,0.5);      /* rgba with alpha */

背景色と背景画像

background-colorで要素の背景を設定します。グラデーションやURLにはbackground-imageを使用します。backgroundの短縮記法を使うと、色、画像、位置、サイズ、繰り返しを1つの宣言にまとめられます。

background-color: #f7fafc;
background-image: linear-gradient(135deg, #667eea, #764ba2);
background: url('/hero.webp') center / cover no-repeat #1a202c;

フォントプロパティ

タイポグラフィは次のプロパティで制御します。font-family(書体)、font-size(em、rem、px)、font-weight(100~900)、font-style(斜体)、line-height(読みやすさを左右する行の高さ)、letter-spacing(字間)です。

body {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: #1a202c;
}

テキストプロパティ

その他のテキストスタイルには、text-align(left、center、right、justify)、text-decoration(underline、line-through、none)、text-transform(uppercase、capitalize)、切り詰めに使うtext-overflow: ellipsisがあります。

h1 { text-align: center; text-transform: uppercase; }
a { text-decoration: none; }
.truncate {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

remとemとpxの違い

pxは絶対値です。emは要素自身のフォントサイズを基準とする相対値で、カスケードの影響を受けます。remはルートのフォントサイズを基準とするため、予測しやすい値です。ユーザーのフォント設定を尊重するため、サイズ指定の多くにはremを使用してください。

html { font-size: 16px; }  /* 1rem = 16px */
.card { padding: 1.5rem; }  /* 24px */
.small { font-size: 0.875rem; } /* 14px */

ボックスモデル

すべてのHTML要素は、4つの層を持つ長方形のボックスです。content(要素そのものの寸法)、padding(ボーダーの内側の余白)、border、margin(ボーダーの外側の余白)で構成されます。

/* Total width = content + padding + border */
.box {
  width: 200px;
  padding: 16px;
  border: 2px solid #ccc;
  margin: 24px;
}

box-sizing: border-box

デフォルトのcontent-boxでは、指定した幅にpaddingとborderが加算されます。box-sizing: border-boxを指定すると、paddingとborderが指定した幅に含まれます。ほとんどの場合、こちらが望ましい動作です。

/* Apply globally */
*, *::before, *::after {
  box-sizing: border-box;
}

/* Now width: 200px includes padding and border */
.card {
  width: 200px;
  padding: 20px; /* doesn't add to width */
}

マージンの相殺

隣接するブロック要素間の垂直方向のマージンは相殺され、大きい方のマージンだけが適用されます。親要素とその最初または最後の子要素のマージンも相殺されます。FlexboxとGridの子要素ではマージンは相殺されません。

paddingの短縮記法

短縮記法padding: top right bottom leftですべての辺を設定できます。2つの値を指定すると、垂直方向と水平方向に設定されます。3つの値を指定すると、上、左右、下に設定されます。

padding: 16px;              /* all sides */
padding: 8px 16px;          /* top/bottom  left/right */
padding: 8px 16px 24px;     /* top  left/right  bottom */
padding: 8px 16px 24px 32px; /* top right bottom left */

borderプロパティ

border: width style colorの短縮記法でボーダーを設定します。個別の辺にはborder-topなどを使用します。角を丸くするにはborder-radiusを使用します。outlineは似ていますが、レイアウトに影響しません。

.card {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}
button:focus {
  outline: 2px solid #3182ce;
  outline-offset: 2px;
}

オーバーフロー

overflow: hiddenは、要素のサイズを超えたコンテンツを切り取ります。overflow: scrollはスクロールバーを追加します。overflow: autoは必要な場合にだけスクロールバーを追加します。overflow-xとoverflow-yを使うと、軸ごとに個別に制御できます。

確認問題

box-sizing: border-box、width: 300px; padding: 20px; border: 2px solidの場合、要素のレンダリング後の合計幅はいくつですか?

まとめ:色、タイポグラフィ、ボックスモデル

色はhex、rgb、hslで設定します。フォントはfont-family、サイズ、太さ、line-heightで適用します。すべての要素はcontent + padding + border + marginからなるボックスです。予測しやすいサイズ指定のために、グローバルでbox-sizing: border-boxを有効にしてください。

よくある質問

「色、タイポグラフィ、ボックスモデル」レッスンは無料ですか?

はい。「色、タイポグラフィ、ボックスモデル」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Frontend Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Frontend Academyコースには全4レッスンが含まれています。

「色、タイポグラフィ、ボックスモデル」で何を学びますか?

hex、rgb、hsl値で色を適用し、フォントを選び、サイズと行の高さを設定し、margin、border、paddingで要素間の間隔を調整します。 ブラウザで直接実行するハンズオンコードでFrontend Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Frontend Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのFrontend Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「色、タイポグラフィ、ボックスモデル」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このFrontend Academyレッスンでコードを書いて実行できますか?

はい。すべてのFrontend Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. セレクターとカスケード
  2. 色、タイポグラフィ、ボックスモデル
  3. display: block、inline、flex、gridの基礎
  4. 配置: relative、absolute、fixed、sticky
← Frontend Academyに戻る