進め方の地図
| 週 | やること | 仕上がるもの |
|---|---|---|
| 1週目 | 授業1: HTML / CSSの思い出し運転 | 自己紹介ページの作り直し |
| 2〜3週目 | 授業2: Flexboxで「並べる」を制する | カード列・ナビ・中央寄せの3部品 |
| 4週目 | 授業3: カンプの数値をコードに写す | 「そら」のヘッダー実装 |
| 5週目 | 授業4: GitHub Pagesで公開する | 世界中から見られる自分のURL |
| 6週目 | ユニット制作: トップページ完全実装 | 公開された美容室トップページ |
授業1: 思い出し運転 ― 今の腕で作り直す
まず、Step 2の記憶を呼び戻します。教材は当時と同じ、HTMLの授業とCSSの授業です。ざっと読み直したら、すぐ手を動かします。
お題: Step 2で作った自己紹介ページを、見ないでもう一度作ります。ただし今回は、デザインの理論つきです。
- VS Codeで新しいフォルダを作る「jikoshokai-2」フォルダに
index.htmlとstyle.cssを作ります。ひな形の書き方を忘れていたら、Step 2の授業3を開きながらでOKです。 - 内容を組む名前 (見出し)・ひとこと・好きなことリストの3ブロックを作ります。
- 理論で味つけするユニット1の知識で、文字の階層 (28 / 16 / 13)・行間1.7・余白は8の倍数を効かせます。色は自分のパレット3色だけです。
- 当時の作品と並べるStep 2の作品とブラウザで見比べます。同じ自分が作ったとは思えない差が見えるはずです。それが、この半年で育った目です。
授業2: Flexboxで「並べる」を制する
カンプ実装の山場は、結局「横に並べる」です。CSSのFlexbox (フレックスボックス) は、Figmaのオートレイアウトとほとんど同じ考え方なので、あなたには有利な戦いです。対応表を頭に入れましょう。
| Figmaのオートレイアウト | CSSのFlexbox |
|---|---|
| 横並びにする | display: flex; |
| 要素の間隔 (Gap) | gap: 16px; |
| 間隔を「Auto」(両端寄せ) | justify-content: space-between; |
| 縦方向の中央ぞろえ | align-items: center; |
- HTMLで箱を3つ作る次のように書きます。
<div class="cards"> <div class="card">カット</div> <div class="card">カラー</div> <div class="card">パーマ</div> </div> - 親にflexを指定するCSSはこれだけです。
.cards { display: flex; gap: 16px; } .card { flex: 1; background: #ffffff; border-radius: 14px; padding: 24px; } - ブラウザで確かめる3枚が等しい幅で横に並べば成功です。
flex: 1が「余った幅を等しく分け合う」の意味です。 - 1行で覚える「並べたい子たちの親に
display: flex」。Flexboxの迷子の9割は、子に書いてしまうのが原因です。
お題: 「左に店名、右にメニュー (料金・アクセス・予約)」のヘッダーを組みます。
- HTML:
headerの中に、店名のdivとメニューのnav(中にaを3つ) を置きます。 - CSS:
headerにdisplay: flex;とjustify-content: space-between;とalign-items: center;を指定します。 - メニューの中も並べる
nav自身にもdisplay: flex; gap: 24px;を指定します。Flexboxの入れ子は、オートレイアウトの入れ子と同じ発想です。
お題: 画面の縦横ど真ん中にキャッチコピーを置いた、ヒーロー (大きな看板エリア) を作ります。高さは 60vh (画面の高さの60%) にします。
display: flex; justify-content: center; align-items: center; の3点セットです。「Flexbox 中央寄せ」は実務での検索回数ナンバーワンと言われる定番技なので、ここで体に入れておきましょう。授業3: カンプの数値を、そのままコードに写す
デザイナー出身の実装の強みは、「カンプに全部書いてある」と知っていることです。色・サイズ・余白・書体、全部Figmaの右パネルから読み取れます。勘で書かず、数値を写します。
- 色を変数にするカンプのルールブックから3色を写して、CSSの最初に書きます。
自分のパレットの値に置きかえてください。以後、色は:root { --base: #faf6f3; --main: #a8756b; --accent: #5e8c7c; }var(--main)のように使います。スタイル登録のCSS版です。 - 書体を読み込むGoogle Fontsで使った書体 (例: Noto Sans JP) を選び、表示される
<link>タグをHTMLの<head>に貼り、CSSでfont-familyに指定します。 - 余白を写すFigmaでヘッダーを選び、パディングの数値 (例: 上下16・左右40) を読み取って、CSSの
padding: 16px 40px;に写します。 - 並べて検品するブラウザとFigmaを左右に並べ、目を細めて見比べます。違って見える場所は、たいてい余白か文字サイズの写しまちがいです。
お題: トップページの上半分 (ヘッダー + ヒーロー + メニューカード3枚) まで実装を進めます。写真は無料素材か、灰色の四角のままで構いません。
授業4: GitHub Pagesで世界に公開する
作ったページを、インターネットの本物のURLで公開します。使うのはGitHub (ギットハブ) という、世界中の開発者がコードを置いている無料サービスです。今回は黒い画面を使わず、ブラウザだけで公開します。
- アカウントを作る
github.comで「Sign up」します。ユーザー名は半角英数で、作品のURLの一部になるので、人に見せられる名前にしましょう。 - リポジトリを作る右上の + →「New repository」。名前は
salon-sora、公開設定は「Public」にして作成します。リポジトリは「作品のフォルダ」だと思えばOKです。 - ファイルを上げる「uploading an existing file」のリンクをクリックし、
index.htmlとstyle.cssをドラッグ&ドロップして、緑の「Commit changes」を押します。 - 公開をオンにするリポジトリの「Settings」→ 左メニューの「Pages」→ Branchを「main」にして「Save」を押します。
- URLを開く数分待つと、同じ画面に
https://ユーザー名.github.io/salon-sora/という公開URLが表示されます。スマホでも開いてみましょう。あなたの作品が、世界中から見られる状態になりました。
ユニット制作: トップページ完全実装
ユニット3のカンプを、最後まで実装して公開します。
- 残りのブロックを実装する料金の入り口・アクセス・フッターまで、カンプの数値どおりに組みます。
- スマホ対応を1つだけ入れるCSSの最後に次を足し、スマホ幅でカードが縦に並ぶようにします。
「画面が600pxより狭いときだけ、このCSSを効かせる」という意味です。@media (max-width: 600px) { .cards { flex-direction: column; } } - 検品するFigmaのカンプと並べて見比べ、ブラウザの幅を狭めてスマホ表示も確かめます。
- 公開して発表するGitHubに上げ直して、公開URLをスタッフに送ります。発表では「カンプと違ってしまった場所」も正直に見せましょう。その差にこそ、次の学びが入っています。
つまずきやすいポイント
発展チャレンジ (余力のある方へ)
- 料金ページと予約ページ (見た目だけ) も実装して、3ページをリンクでつないでみましょう。
- ボタンに
:hover(マウスをのせたときの色変化) をつけてみましょう。ユニット2で作ったバリアントのコード版です。 - フロントエンドコースのユニット1をのぞいてみましょう。本職のフロントエンドが何を練習しているかが分かると、カンプの渡し方も変わります。