HTML/CSS 言語 & フレームワーク

HTMLまとめ

VSCodeの自動補完(スニペット)

「html:5」と入れてtabキーを押すと出現

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

</body>
</html>

lang="en" の意味

lang属性は、ページの主要な言語を指定します。"en"は英語(English)を表します。これは、ブラウザや検索エンジン、スクリーンリーダー(音声読み上げソフト)に「このページの言語は英語だよ」と伝える役割があります。

日本語なら lang="ja" にします。"ja" は日本語(Japanese)のISO 639-1コードです。

meta name="viewport" content="width=device-width, initial-scale=1.0"の意味

これはモバイル対応のために必須の記述で、ページがデバイス画面に適切に表示されるよう調整します。CSSでwidth: 100%やメディアクエリを使う場合も、ビューポート設定が基準になるので必須。

  • meta name="viewport": ビューポート(表示領域)を制御するメタタグ。ウェブページがどう画面に収まるかを決めます。特にスマートフォンやタブレットなど、画面サイズが多様なデバイスで重要。
  • content="width=device-width": ページの幅をデバイスの画面幅に合わせます。昔のウェブはPC向けに固定幅(例: 960px)で作られることが多かったけど、モバイルだと小さすぎたり大きすぎたりして見づらい。これで「デバイスの幅にフィットせよ」と指示。
  • initial-scale=1.0: ページの初期ズームレベルを1.0(100%)に設定。ズームイン・アウトせず、自然な大きさで表示されるようにします。

これがないと、モバイルブラウザが「PC向けページ」と勘違いして、ページを縮小表示(ズームアウト)してしまい、文字が小さすぎたり操作しづらかったりします。

Formタグ

<input> の type の種類

基本的なテキスト入力

  • 普通の1行テキスト入力欄。
    例:<input type="text" placeholder="名前を入力">
  • パスワード用。入力が「••••」のように隠れる。
    例:<input type="password">
  • メールアドレス用。入力値がメール形式かチェック(モバイルだと@付きキーボードが出る)
    例:<input type="email">
  • URL用。「http://」などを想定した入力。
    例:<input type="url">
  • 電話番号用。モバイルで数字キーパッドが表示。
    例:<input type="tel">
  • 検索用。見た目はtextと似てるけど、検索アイコンや「×」ボタンが出るブラウザも。
    例:<input type="search">

数値や日付入力

属性: min, max, stepで範囲や刻みを指定。

  • 数字入力用。上下矢印(スピナー)が付く。
    例:<input type="number" min="0" max="100">
  • スライダー形式で数値を選択。
    例:<input type="range" min="0" max="100">
  • 日付選択カレンダー
    例:<input type="date">
  • 時間選択(時:分)
    例:<input type="time">
  • 日付と時間を両方選択。
    例:<input type="datetime-local">
  • 月単位の選択(年-月)。
    例:<input type="month">
  • 週単位の選択(年-週番号)。
    例:<input type="week">

選択系

  • type="checkbox": チェックボックス。複数選択可。
  • type="radio": ラジオボタン。単一選択。
  • type="color": カラーピッカー。色を選択でき、値は#RRGGBB形式で返る。

ファイルやメディア

  • type="file": ファイルアップロード用。
    属性: acceptでファイル形式を制限(例: accept=".jpg,.png")。
  • type="image": 画像をボタンとして使う。クリックでフォーム送信。

ボタンや隠しフィールド

  • type="button": ただのボタン。JavaScriptで機能を付ける。
  • type="submit": フォーム送信ボタン。デフォルトで送信動作。
  • type="reset": フォームを初期値にリセット。
  • type="hidden": ユーザーに見えない隠しデータ。フォームでサーバーに送る用。

labelタグの使い方

inputタグにidをつけておき、label for=""でそのIDを指定するとラベルを付与できる

<form>
    <p>please input your email</p>
    <label for="emailtag">EMAIL:</label>
    <input id="emailtag" type="email" name="" value="">
    <input type="submit" name="" value="Enter">
</form>

Formの情報を別のHTMLに送信する

  • form action="" で次のHTMLを指定
  • input name="" でキーを指定、ユーザーの入力内容と合わさって { キー: 値 } の辞書型になる
<form action="https://www.google.com" method="get">
    <label for="emailtag">EMAIL:</label>
    <input id="emailtag" type="email" name="key1" placeholder="email here">
    <br>
    <label for="passtag">PASSWORD:</label>
    <input id="passtag" type="password" name="key2" placeholder="password">

    <input type="submit" name="" value="Enter">
</form>

これで「Enter」を押すと、actionで指定したページに飛び、/?以降で入力したデータが渡されている

簡単なアンケートフォーム

<form action="">
    <h3>今日の天気はよかったですか?</h3>
    <label for="yes">Yes:</label>
    <input type="radio" name="choice" id="yes" value="yes">
    <label for="no">No:</label>
    <input type="radio" name="choice" id="no" value="no">

    <p>どれくらいよかったですか?(1~3)</p>
    <select name="stars" id="">
        <option value="Great">3</option>
        <option value="Good">2</option>
        <option value="Bad">1</option>
    </select>

    <p>何かコメントしたいことはありますか?</p>
    <textarea name="name" rows="4" cols="30"></textarea>

    <input type="submit" value="Submit">
</form>

-HTML/CSS, 言語 & フレームワーク