ここまで作ってきたのは「読むためのページ」でした。今回は少し毛色が変わって、ユーザーが操作する部品——ボタンと入力欄を置いてみます。ページが「見るもの」から「使うもの」へ一歩近づきます。
押せるボタン
<button> は、その名のとおりボタンを作るタグです。はさんだ文字が、ボタンの上のラベルになります。
<button>送信する</button>これだけで、クリックできるボタンが表示されます。「押すと何かが起きる」——その“何か”は、後でJavaScriptを学ぶとつけられます。今は押せる部品を置けただけで大成功です。
ボタンとリンクの使い分け
「押せるもの」なら、前に習ったリンク(<a>)もそうでした。どう使い分けるのでしょう?答えは押したあとに何が起きるかです。
| 部品 | 押すと起きること | 例 |
|---|---|---|
<a> | 別の場所へ移動する | メニュー、記事へのリンク |
<button> | その場で何かを実行する | 送信する、計算する、表示を切りかえる |
CSSを使えば、リンクをボタンっぽい見た目にすることもできます。それでも「移動なら <a>、実行なら <button>」と役割で選ぶのが基本。役割どおりに使うと、キーボード操作や読み上げソフトでも正しくあつかわれます。
文字を打ち込む入力欄
<input> は、ユーザーが文字を打ち込める入力欄を作ります。<img> と同じで、中身をはさまないタグです。
<input type="text" placeholder="お名前をどうぞ">分解するとこうです。
| 書くもの | 意味 |
|---|---|
<input> | 入力欄の部品。1つで完結するタグ |
type="text" | どんな入力欄か(text なら文字を打つ欄) |
placeholder="..." | 打つ前にうすく表示されるヒントの文字 |
type を変えると、入力欄の種類が変わります。たとえば type="password" なら文字が伏せ字に、type="checkbox" ならチェックボックスに。同じ <input> が、type しだいで姿を変えるのがおもしろいところです。
最初から文字を入れておく(value)
placeholder と似ているようで役割がちがうのが value。こちらは最初から入力欄に入っている“本物の文字”です。
<input type="text" value="しまちゃん">
<input type="text" placeholder="お名前をどうぞ">ならべて見ると、ちがいがはっきりします。
| 書くもの | 出る文字 | 打ち始めると |
|---|---|---|
value | ふつうの濃い文字 | 消えない(自分で消して書き直す) |
placeholder | うすい文字 | すっと消える |
value は「前に入力した内容をあらかじめ入れておく」「おすすめの値を最初からセットしておく」ような場面で使います。ヒントなら placeholder、中身なら value——と覚えましょう。
valueなので最初から濃い文字入り、自分で消さないかぎり残ります。下の欄はplaceholderなので、打ちはじめるとすっと消えます。さわってみよう
読むだけより、実物を触るのがいちばん。ボタンを押したり、入力欄に文字を打ったりしてみてください。
value="しまちゃん"だから、最初から濃い文字入り。下はplaceholderなので、打ち始めるとすっと消えます。ボタンは押せても、まだ何も起きないのが正解です。このレッスンのまとめ
- 押せるボタンは
<button>ラベル</button>。移動なら<a>、実行なら<button> - 文字を打つ欄は
<input type="text">(中身ははさまない) <input>はtypeを変えると姿が変わる- ヒントは
placeholder(打つと消える)、中身はvalue(消えない)
