入門編のSTEP1にチャレンジ

Figma のデザインカンプをもとに、HTML と CSS だけで Web ページを“再現する力” を身につけよう!

下記の デモページFigmaデザインカンプ を参照しながら進めます。

STEP
フォルダを作成しよう

作業用フォルダを 1 つ準備します。名前は任意ですが、ここでは step01 とします。

フォルダ内には以下のように作成をしておきます

step01/
├── index.html
├── style.css
├── reset.css
└── images/   ← Figmaから書き出した画像を入れるフォルダ
STEP
Figmaから画像をエクスポート

Figma のデザインカンプを見ながら必要な画像を書き出します。

書き出し方法が不安な方はこちら

あわせて読みたい
Figmaでアイコン作成とエクスポートしてみよう 今までの学習を踏まえて、下記のアイコンを作成してみましょう。 基本フレーム 新しいキャンバスを開いたら、32px * 32px のフレームを作成します。32pxは見出し1の大...
STEP
reset.css をコピーして貼り付ける

今回の課題用にカスタマイズした リセットCSS を用意しています。任意で用意されたものもお使いください。

コードをコピーし、reset.css に貼り付けましょう。
/* ========================================
   2025年版モダンリセットCSS
   WebTraining.jp Recommended
======================================== */

:root {
  /* カラー変数 */
  --color-text: #333;
  --color-bg: #fff;
  --color-link: #005fcc;
  --color-link-hover: #004bb5;
  --color-focus: #005fcc;
  --color-focus-visible: #ffcc00;

  /* フォント・サイズ変数 */
  --font-family: "Noto Sans JP", "Inter", "Helvetica Neue", Arial, sans-serif;
  --font-size-base: 16px;
  --line-height-base: 1.6;
  --spacing-unit: 1rem;
}

/* ========================================
   基本リセット
======================================== */
html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
figure,
blockquote,
table,
th,
td {
  margin: 0;
  padding: 0;
}

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

/* ========================================
   HTML・BODY設定
======================================== */
html {
  font-size: 100%; /* 基本16px */
  line-height: var(--line-height-base);
  -webkit-text-size-adjust: 100%; /* モバイル文字サイズ自動調整防止 */
  scroll-behavior: smooth;
}

@media (max-width: 768px) {
  html {
    font-size: 87.5%; /* 約14px */
  }
}

body {
  margin: 0;
  font-family: var(--font-family);
  font-size: var(--font-size-base);
  color: var(--color-text);
  background-color: var(--color-bg);
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

/* ========================================
   メディア要素
======================================== */
img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
video {
  filter: drop-shadow(0px 0px #fff);
}
/* ========================================
   テキスト要素
======================================== */
a {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
a:hover {
  color: var(--color-link-hover);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
}

/* ========================================
   リスト・ナビゲーション
======================================== */
ul,
ol,
nav ul,
nav ol {
  list-style: none;
}

/* ========================================
   フォーム系要素
======================================== */
input,
button,
textarea,
select {
  font: inherit;
  color: inherit;
  background: none;
  border: none;
  outline: none;
}

button {
  cursor: pointer;
}

textarea {
  resize: none;
}

::placeholder {
  color: #aaa;
  opacity: 1;
}

/* ========================================
   テーブル
======================================== */
table {
  border-collapse: collapse;
  width: 100%;
}

/* ========================================
   フォーカス表示(アクセシビリティ対応)
======================================== */
:focus {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
}

:focus-visible {
  outline: 3px solid var(--color-focus-visible);
  outline-offset: 3px;
}

/* ========================================
   ダークモード対応
======================================== */
@media (prefers-color-scheme: dark) {
  body {
    background-color: #121212;
    color: #e0e0e0;
  }

  a {
    color: #90caf9;
  }

  a:hover {
    color: #64b5f6;
  }

  ::placeholder {
    color: #666;
  }
}
あわせて読みたい
Reset CSSとは?Webデザインを始めるなら必ず押さえておきたい初期化スタイル+モダンCSS Webサイトをコーディングしていて、「ブラウザによって少し見た目が違うな…?」と感じたことはありませんか?実はそれ、ブラウザごとに設定されている「初期スタイル(U...
STEP
HTML(index.html)を作成しよう

HTMLはFigmaのデザインカンプを見ながら作成します。セマンティクス要素である<header><main><fotter>を必ず使いましょう。

  • コンテンツ(内容)には <main> を使いましょう
  • 1 番上には店名を <h1> で配置し、<header>要素を使いましょう
  • 商品を並べる部分は <section> でまとめます
  • 商品 1 つ 1 つは <figure><figcaption> を使うとセマンティックになります
  • 必要なHTMLの知識は下記のページをトレーニングすると身につきます
あわせて読みたい
HTML基礎 はじめてHTMLに触れる方のための「HTML基礎」講座です。このトレーニングでは、自己紹介ページの作成からスタートして、見出し・リスト・画像・リンク・表・フォームな...
STEP
CSS(style.css)を仕様書どおりに書いてみよう

次に CSS を書いていきます。下記の 仕様書 をもとに、レイアウトを再現してみましょう。仕様書に指示がないところも、デザインカンプを参考にしながら可能な限り近づけていきましょう。

背景色:#573328

フォント:すべて:Noto Sans JP

見出し

  • h1:32px/下余白 2rem(32px)/中央揃え
  • h2:24px/中央揃え
  • h3:20px

文章

  • p(説明文):14px/行間 28px(line-height: 2)

レイアウト

  • 最大幅:960px
  • 左右中央寄せ(margin: 0 auto)

カード装飾

  • 背景色:#fafafa
  • 角丸:8px
  • 影:0 2px 10px rgba(0,0,0,0.08)
  • 内側余白:16px

上記以外の余白は Figmaデザインを参考にして調整してください。
見た目が近ければ余白などは任意でもかまいません。また Figma通りに完全再現できていなくても問題ありません。
STEP01はレイアウトの考え方や CSS の書き方を体験することが目的です。CSSの基礎トレーニングは下記を参考にしてください。

あわせて読みたい
CSS基礎 この「CSS基礎」では、Web制作でよく使うプロパティを中心に学習していきます。それぞれのプロパティがどのような役割を持ち、どんな値を指定できるのかを、実際にコー...
あわせて読みたい
CSS-CLASS設計 この「CSS-CLASS設計」では、CSSを記述する際にどのような class名 を付けるべきか迷う場面や、実際の現場でどのような命名ルールが使われているのかわからないといった...
吹き出し
WebTraining AI
WebTraining AI へようこそ!
HTML / CSS / JavaScript / Wordpress/ PHP など、 コードやプログラミングについて何でも質問できます。