<button>: BUTTON 要素

最終更新:2026-10-13

<button>BUTTON 要素

<button> 要素はクリック可能なボタンを作成します。<input type="button"> と違い、テキスト・アイコン・画像など任意のHTMLを含められます。既定の type は submit です。

カテゴリフォーム
コンテンツモデルフレージングコンテンツ(対話型コンテンツは不可)
許可される親要素フレージングコンテンツを受け入れる要素
閉じタグ必要 </button> タグ
ステータス標準

📝 構文

<button type="button">ボタンのテキスト</button>

⚙️ 属性

この要素はグローバル属性に加え、以下の属性をサポートします:

属性値説明
typeKeywordThe behavior type of the button.
  • submit — Submits the enclosing form (default).
  • button — Plain button, no default behavior.
  • reset — Resets the enclosing form.
nameTextButton name, submitted with the form.
valueTextThe value submitted with the button.
disabledBooleanDisables the button.
formForm IDAssociates the button with a form (can be outside it).

▶ サンプル

下のコードを編集して、playground でリアルタイム結果を確認:

🌐 ブラウザサポート

ブラウザ ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
<button> ✓ v1 ✓ v12 ✓ v1 ✓ v1 ✓ v1
すべての主要ブラウザでサポート
ヒント: フォーム外のボタンには type="button" を指定しましょう。指定しないとクリック時に予期せず送信されることがあります。

❓ よくある質問

Qbutton の type 属性にはどんな値がありますか?デフォルトはどれですか?
A3つの値があります:submit(フォーム送信)、reset(リセット)、button(既定動作なし)。デフォルトは submit です。フォームの外なら問題ありませんが、フォーム内で type を書かないボタンは意図せず送信を起こします。これが最もよくある落とし穴なので、type は常に明示しましょう。
Qbutton と input type='button' の違いは何ですか?
A<button> はコンテンツモデルが豊富で、アイコン・太字テキスト・入れ子要素を置けます。<input type='button'> は value によるプレーンテキストしか設定できず、子要素も持てません。現代のプロジェクトでは <button> に統一するのが推奨です。
Qbutton の中に別の button を入れ子にできますか?
Aできません。インタラクティブ要素の入れ子は禁止です。<button> の中に <button>、<a>、<input> などは置けません。複合的な操作が必要なら構造を分けるか、JS で外側のコンテナにイベントを委譲します。

📚 関連チュートリアル

Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%