コース一覧
HTML/CSS道場 ハレノヒ珈琲を開店させる10問
お問い合わせフォーム

HTML/CSS道場 ハレノヒ珈琲を開店させる10問

HTML と CSS の基本を終えた人が、白紙から画面を組み立てる演習専用コースです。解説はありません。依頼と完成条件だけを読み、見本に近づけていきます。手が止まったときのために、方針・使う構文・部分解の3段階のヒントを各問に用意しています。1枚のカードから始まり、ナビゲーション、表、ヒーロー、グリッド、フォーム、フッターを経て、最後はカフェのランディングページを1枚まるごと作るところまで、10問で主要なレイアウトを一巡します。1問15分から45分、全10問で約5時間です。HTML/CSS入門を終えて「写経はできるが白紙からは書けない」と感じている方に向いています。

1
初段
01. メニューカードを再現しよう15分
02. ナビゲーションバー15分
03. 料金表20分
04. ヒーローセクション20分
2
中段
01. メニュー一覧グリッド25分
02. お問い合わせフォーム25分
03. フッター(3カラム)25分
04. スマホ対応せよ30分
3
師範
01. ダークテーマ切替対応35分
02. 総合 カフェLPを1枚再現45分

お問い合わせフォーム

中段 / 目安 25分

陽葵さんがカウンターの奥から、受話器を片手に顔を出しました。「予約の問い合わせが電話ばっかりで大変なの! 仕込みの途中でも鳴るし、書き留めてる間にお客さん待たせちゃうし。名前と人数とメッセージを、サイトから送れるフォームが欲しい!」

フォームは見た目より中身が大事な部品です。ここで一番効くのは label と input を対応させる ことです。<label for="name"> と <input id="name"> のように for と id を同じ文字にしておくと、ラベルの文字を押しただけで入力欄にカーソルが飛びます。スマホでは指で小さな枠を狙う必要が減り、読み上げソフトを使う人には「この欄が何を聞いているのか」が伝わります。見た目に出ない仕事ですが、フォームの品質はここで決まります。

もうひとつ、人数のように必ず答えてほしい欄には required を付けます。空のまま送信を押すとブラウザが止めてくれます。

見た目は border と padding だけで十分きれいになります。入力欄は既定の枠線が細くて頼りないので、自分で border を引き直し、padding で中に余白を作り、border-radius で角を丸めます。さらに :focus を書いておくと、いま自分がどの欄を触っているのかが分かります。

CSS

.form-input:focus { border-color: #b3612f; outline: none; }

完成条件

  • お名前 (text)、人数 (number)、メッセージ (textarea)、送信ボタンを form の中に置く
  • 3つの入力欄それぞれに label を付け、for と id を対応させる
  • 人数の欄に required を付ける
  • 入力欄に border と padding を自分で指定し、:focus で枠の色が変わるようにする

進め方

白紙から書いてください。手が止まったらヒントを開けます。ヒントは3段階で、①方針、②使う構文、③部分解の順に出ます。1つも開けずに通せたら、その問題は自分のものです。

:focus は画面を触っているあいだしか起きないので判定では見ませんが、書かないとフォームとして半端です。自分の目で確かめてから提出してください。

課題

  1. form の中に、お名前 (text)、人数 (number)、メッセージ (textarea)、送信ボタンを置く
  2. 3つの入力欄それぞれに label を付け、for と id を同じ文字で対応させる
  3. 人数の入力欄に required を付ける
  4. 入力欄に border と padding を指定し、:focus で枠の色が変わるルールも書く

ヒント

前のヒントを開くと次が開きます。開かずに解けると未開封クリアです

①方針 先に HTML だけ書いて、form の中に label と input の組を3つ並べます。見た目は後回しでよく、まず「押したらカーソルが飛ぶか」を自分の目で確かめてから CSS に移ります

ヒント 2ヒント 1 を開くと読めます
ヒント 3ヒント 2 を開くと読めます
index.html
style.css
プレビュー

できているか

  • メッセージ欄が form の中にある
  • 3つの入力欄すべてに label が対応している
  • 人数の欄が必須になっている
  • 入力欄に余白が付いて打ちやすくなっている
エディタを読み込んでいます