HTML 元素表示一個可點擊的按鈕,可以用在表單或文檔其它需要使用簡單標準按鈕的地方。默認情況下,HTML按鈕的顯示樣式接近于user agent所在的宿主系統平臺(用戶操作系統)的按鈕,但你可以使用CSS來改變按鈕的樣貌。
瀏覽器支持
示例
click me
標簽定義及使用說明
- 標簽定義一個按鈕。在元素內部,您可以放置內容,比如文本或圖像。這是該元素與使用元素創建的按鈕之間的不同之處。
- 請始終為元素規定 type 屬性。不同的瀏覽器對元素的 type 屬性使用不同的默認值。
- 如果在 HTML 表單中使用元素,不同的瀏覽器可能會提交不同的按鈕值。請使用在 HTML 表單中創建按鈕。
內容分類| 流式內容元素,段落內容元素,交互內容元素,listed,labelable,andsubmittableform-associatedelement,段落內容元素. |
允許的內容| 段落內容元素. |
標簽略寫| 不允許,開始標簽和結束標簽都不能省略。 |
允許的父元素| 任意可容納段落內容元素的元素。 |
Permitted ARIA roles| checkbox,link,menuitem,menuitemcheckbox,menuitemradio,radio,switch,tab |
DOM 接口| HTMLButtonElement |
屬性
該元素包含全局屬性.
- autofocusHTML5新增一個布爾屬性,用于指定當頁面加載時按鈕必須有輸入焦點,除非用戶重寫,例如通過不同控件鍵入。只有一個表單關聯元素可以指定該屬性。
- autocomplete尚未標準化該屬性在上的使用并未標準化,只有Firefox允許。不像其它瀏覽器,Firefox默認在頁面加載時持續禁用Button的動態狀態(Firefox persists the dynamic disabled state)。將此屬性設置為off(i.e.autocomplete="off")關閉此特性。參見bug654072。
- disabled
此布爾屬性表示用戶不能與button交互。如果屬性值未指定,button繼承包含元素,例如;如果沒有設置disabled屬性的包含元素,button將可交互。
不像其它瀏覽器,Firefox默認在頁面加載時持續禁用Button的動態狀態。使用autocomplete屬性可控制此特性。
- formHTML5新增表示button元素關聯的form元素(它的表單擁有者)。此屬性值必須為同一文檔中的一個元素的id屬性。如果此屬性未指定,元素必須是form元素的后代。利用此屬性,你可以將元素放置在文檔內的任何位置,而不僅僅是作為他們form元素的后代。
- formactionHTML5新增表示程序處理button提交信息的URI。如果指定了,將重寫button表單擁有者的action屬性。
- formenctypeHTML5新增如果button是submit類型,此屬性值指定提交表單到服務器的內容類型。可選值:
- application/x-www-form-urlencoded:未指定時的默認值。
- multipart/form-data:如果使用type屬性的元素設置文件,使用此值。
- text/plain
如果指定此屬性,它將重寫button的表單擁有者的enctype屬性。
- formmethodHTML5新增如果button是submit類型,此屬性指定瀏覽器提交表單使用的HTTP方法。可選值:
- post:來自表單的數據被包含在表單內容中,被發送到服務器。
- get:來自表單的數據以'?'作為分隔符被附加到form的URI屬性中,得到的URI被發送到服務器。當表單沒有副作用,且僅包含ASCII字符時使用這種方法。
如果指定了,此屬性會重寫button擁有者的method屬性。
- formnovalidateHTML5新增如果button是submit類型,此布爾屬性指定當表單被提交時不需要驗證。如果指定了,它會重寫button擁有者的novalidate屬性。
- formtargetHTML5新增如果button是submit類型,此屬性指定一個名稱或關鍵字,表示接收提交的表單后在哪里顯示響應。這是一個瀏覽上下文(例如tab,window或內聯框架)的名稱或關鍵字。如果指定了,它會重寫button擁有者的target屬性。關鍵字如下:
- _self:在同一個瀏覽上下文中加載響應作為當前的。未指定時此值為默認值。
- _blank:在一個新的不知名瀏覽上下文中加載響應。
- _parent:在當前瀏覽上下文父級中加載響應。如果沒有父級的,此選項將按_self執行。
- _top:在頂級瀏覽上下文(即當前瀏覽上下文的祖先,且沒有父級)中架加載響應。如果沒有頂級的,此選項將按_self執行。
- namebutton的名稱,與表單數據一起提交。
- typebutton的類型。可選值:
- submit:此按鈕將表單數據提交給服務器。如果未指定屬性,或者屬性動態更改為空值或無效值,則此值為默認值。
- reset:此按鈕重置所有組件為初始值。
- button:此按鈕沒有默認行為。它可以有與元素事件相關的客戶端腳本,當事件出現時可觸發。
- menu:此按鈕打開一個由指定元素進行定義的彈出菜單。
- valuebutton的初始值。它定義的值與表單數據的提交按鈕相關聯。當表單中的數據被提交時,這個值便以參數的形式被遞送至服務器。
注意
元素比元素更容易使用樣式。你可以在元素內添加HTML內容(像、甚至),以及::after和::before偽元素來實現復雜的效果,而只支持文本內容。

如果你的按鈕不是用于向服務器提交數據,請確保這些按鈕的type屬性設置成button。否則它們被按下后將會向服務器發送數據并加載(可能并不存在的)響應內容,因而可能會破壞當前文檔的狀態。
IE7 在使用Click me提交表單時存在一個BUG,POST提交的數據將是myButton=Click me而不是myButton=foo(沒有把value屬性的值foo提交上去)。IE6 的BUG更糟糕,在提交表單的時候會把表單內所有的按鈕都提交上去,同時還有和IE7 一樣的BUG。IE8 已經修復了這個問題。
Firefox 出于使用方便的目的,會在獲得焦點的按鈕上添加一個細小的虛線框。這個邊框由瀏覽器內部的樣式表中的 CSS 定義,但如果有必要的話,你可以用button::-moz-focus-inner{}重寫這個樣式。
Firefox 在默認情況下會在頁面加載時讓保持動態禁用狀態,這個行為在其它瀏覽器上是沒有的。將autocomplete屬性設置為off可以禁用這項特性。參見bug654072。
安卓系統上的Firefox