【HTML】Buttonタグとinputタグのbuttonの違い

目次

問題提議

HTML5を記述していて、ボタンクリックのような処理を書きたくなるときがあるが、HTML5には3つのボタンの挙動を再現できる記述方法がある。

どの方法でボタンを作成するのがいいのか気になった。

結論 : どれを使えばいいのか

タグ 用途
<a> 汎用ボタンに使用
<button> フォームの送信ボタン等に使用
<input type=”button”> 使用しない

<a>タグについて

リンクを設定したいときに使用する。ボタンを作る際に最も使用されている。

例:クリックされるとtest.htmlへ飛ぶ

1
<a href="test.html"></a>

<a>タグをなぜ汎用ボタンにするのか

  • 一般的に浸透して言える
  • 他の2つの記述方式と違い、簡潔に記述できる

<button>タグについて

HTML5から導入されたタグで、inputタグと違い閉じタグがあるので、疑似要素が使用できるようになっています。

例:testという表示のボタンを表示する

1
<button type="button">test</button>

<button>タグをなぜ送信ボタンにするのか

aタグはフォームの送信ボタンには使用できないため、使用できるのは、inputタグbuttonタグのどちらかになります。この2択の場合、疑似要素が使用できるbuttonタグの方に軍配が上がります。

<input type=”button”>タグについて

inputタグは閉じタグがないので、CSSでbeforeやafterの疑似要素が使用できないため、デザインの幅が狭まります。

例:testという表示のボタンを表示する

1
<input type="button" value="test">

<input type=”button”>タグをなぜ使用しないのか

HTML5で、buttonタグが登場したことにより、buttonの生成は専用のタグを使用したほうが使い勝手が良くなったため。

しかし、HTML4ではbuttonタグは使えないので、HTML4で構築する際はinputタグのbutton属性を使用する必要があります。

参考

Author

Daiki Iijima

Posted on

2021-05-21

Updated on

2024-04-17

Licensed under