HTML attribute reference

HTML 中的元素具有屬性;而這些屬性可以藉由各種方式去設定元素或調整它們的行為,以符合使用者的期待。

屬性列表

屬性名稱 元素 描述
hidden Global attribute 避免呈現給定的元素,並且保持子元素,例如 script elements、active。
high <meter> 指示下界的上限範圍。
href <a><area><base><link> 連結資源的 URL。
hreflang <a><area><link> 指定連結資源的語言。
http-equiv <meta>
icon <command> 指定呈現指令的圖片。
id Global attribute 經常和 CSS 一起被用來設計特定元素。這個屬性的值必須是唯一的。
ismap <img> 指示該圖像是伺服器端之影像地圖的一部分。
itemprop Global attribute
kind <track> 指明文章 track 的類型。
label <track> 指明文章 track 的使用者可讀之標題。
lang Global attribute 定義該元素中所使用的語言。
language <script> 定義該元素中所使用的腳本語言。
list <input> 指示一串預先定義的選項供使用者參考。
loop <audio><marquee><video> 指示當媒體完成時,是否應該從一開始的時候播放。
low <meter> 指示上界的下限範圍。
manifest <html> 指定文件中緩存清單的 URL。
max <input><meter><progress> 指示所允許的最大值。
maxlength <input><textarea> 定義該元素中所允許的最大字元數目。
media <a><area><link><source><style> 指定一些連接資源已經被設計的媒體。
method <form> 定義當呈交該格式時,哪個 HTTP 方法要被使用。可以用 GET(預設)或是 POST。
min <input><meter> 指示所允許的最小值。
multiple <input><select> 指示多個值是否可以進入單一輸入的 email 或是 file 之類別。
name <button><form><fieldset><iframe><input><object><output><select><textarea><map><meta><param> 元素的名字。例如被伺服器所使用時,來識別格式提交的現場。
novalidate <form> 該屬性指示當本格式被提交時,並無法通過驗證。
open <details> 指示是否細節顯示於加載頁面上。
optimum <meter> 指示最佳化數值。
pattern <input> 定義一個元素值將被驗證的正規表達式。
ping <a><area>
placeholder <input><textarea> 提示使用者什麼可以被輸入進該區。
poster <video> 顯現一個指示 poster frame 的 URL,直到使用者撥放或是搜索。
preload <audio><video> 指示是否整個資源、一部分的資源、或是沒有資源應該被預先裝載。
pubdate <time> 指示該日期和時間,是否和距離最近的 <article> 舊元素的日期一樣。
radiogroup <command>
readonly <input><textarea> 指示是否該元素可以被編輯。
rel <a><area><link> 指定目標物件和連結物驗的關係。
required <input><select><textarea> 指示該元素是否被要求填寫。
reversed <ol> 指示該目錄是否應以降序展出而不是升序。
rows <textarea> 定義 textarea 的行數。
rowspan <td><th> 定義表格單元的行數應該被 span over。
sandbox <iframe>
spellcheck Global attribute 指示為該元素的拼字檢查是否允許。
scope <th>
scoped <style>
seamless <iframe>
selected <option> 定義一個值將被選擇到上載頁面中。
shape <a><area>
size <input><select> 定義元素的寬度 (以 pixel 為單位) 。如果該元素之類型的屬性是文本或是密碼,那麼它就是字元的數目。
sizes <link>
span <col><colgroup>
src <audio><embed><iframe><img><input><script><source><track><video> 可嵌入內容的網址。
srcdoc <iframe>
srclang <track>
srcset <img>
start <ol> 如果第一個數字不是 1 的話,則定義該數。
step <input>
style Global attribute 定義多載先前的樣式設定之 CSS 樣式。
summary <table>
tabindex Global attribute 多載瀏覽器的預設頁面標籤之順序並且遵守指定的那個。
target <a><area><base><form>
title Global attribute 當滑鼠標停在元素時,文本會顯示在工具提示中。
type <button><input><command><embed><object><script><source><style><menu> 定義元素的類型。
usemap <img><input><object>
value <button><option><input><li><meter><progress><param> 定義將顯示在加載頁面上元素的預設值。
width <canvas><embed><iframe><img><input><object><video> 注意 : 在有些情況中,例如 <div>,這是傳統的屬性,而 CSS width 特性應當被使用。在其他的情況中,例如 <canvas> ,寬度必須用該屬性來指定。
wrap <textarea> 指定文章是否要被掩飾。
border <img><object><table> 邊界寬度。注意:這是一個傳統的屬性。請利用 CSS border 特性。
buffered <audio><video> 包含被緩衝之媒體的時間範圍。
charset <meta><script> 聲明頁面或腳本的字元編碼。
checked <command><input> 指定在加載頁面上的元素是否要被檢查。
cite <blockquote><del><ins><q> 包含一個 URL,用來指出引用或是改變的來源地址。
class Global attribute 經常使用共同屬性和 CSS 一起設計元素。
code <applet> 指明被加載與執行的 applet 類別文件之 URL。
codebase <applet> This attribute gives the absolute or relative URL of the directory where applets' .class files referenced by the code attribute are stored.
color <basefont><font><hr> 該屬性使用命名顏色或十六進制 #RRGGBB 格式來設置文本顏色。注意:這是一個傳統的屬性。請使用 CSS color 特性。
cols <textarea> 定義在一個 textarea 中有多少欄位。
colspan <td><th> colspan 屬性定義一個單元格之欄位的數量。
content <meta> 一個有關於 http-equiv 或是根據上下文 name 的值 。
contenteditable Global attribute 指定元素的內容是否可以被編輯。
contextmenu Global attribute 定義將作為元素上下文選項單的 <menu> 元素之 ID。
controls <audio><video> 指定瀏覽器是否應該顯示錄放控制給使用者。
coords <area> 一組值指明熱點區域的座標。
data <object> 指明 URL 的資源。
data-* Global attribute 讓你可以將自行定義屬性附加在 HTML 元素上。
datetime <del><ins><time> 指定元素所相關的日期與時間。
default <track> 指定 track 應被啟用,除非使用者的偏好表示不同。
defer <script> 指定該頁面被瀏覽完後腳本應被執行。
dir Global attribute 定義文章的方向。被允許的值有 ltr (Left-To-Right) 或 rtl (Right-To-Left)。
dirname <input><textarea>
disabled <button><command><fieldset><input><optgroup><option><select><textarea> 指名使用者是否可以與元素互動。
download <a><area> 指定該超連結是用於下載的資源。
draggable Global attribute 定義元素是否可以拖曳。
dropzone Global attribute 指定該元素接受它內容的滑鼠落下物。
enctype <form> 當方法為 POST 的時候,定義格式日期的內容類型。
for <label><output> 描述屬於這一個的元素。
form <button><fieldset><input><label><meter><object><output><progress><select><textarea> 指定元素之所有者的格式。
formaction <input><button> 指定元素的作用,多載的動作被定義在 <form>
headers <td><th> 對適用於該元素的 元素之 ID。
height <canvas><embed><iframe><img><input><object><video> 注意:在有些情況中,例如 <div>,這是傳統的屬性,而 CSS height 特性應當被使用。在其他的情況中,例如 <canvas>,高度必須用該屬性來指定。
accept <form><input> 伺服器接受的類型之列表,通常是文件類型。
accept-charset <form> 支持字元集的列表。
accesskey Global attribute 定義鍵盤快捷鍵來啟動或添加焦點到該元素。
action <form> 一個程序處理經由該格式提交信息的 URI。
align <applet><caption><col><colgroup><hr><iframe><img><table><tbody><td><tfoot><th><thead><tr> 指定元素的水平對齊方式。
alt <applet><area><img><input> 在圖像無法顯示的情況下,顯示代替文本。
async <script> 指定該腳本應該被不同步得執行。
autocomplete <form><input> 指定是否以該格式控制,可以在默認情況下由瀏覽器自動完成其值。
autofocus <button><input><select><textarea> 該元素應該在頁面加載後自動焦距。
autoplay <audio><video> 音頻或視頻應該越早撥放越好。
autosave <input> 上一個值應該持續存在到跨頁面加載的可選值之下拉列表中。
bgcolor <body><col><colgroup><marquee><table><tbody><tfoot><td><th><tr> 元素的背景顏色。注意:這是一個傳統的屬性。請使用 CSS background-color 特性。

內容與 IDL 屬性

在 HTML 中,大部分的屬性有兩種面向:內容屬性IDL 屬性

內容屬性是你可以從內容中設定的屬性 (HTML 程式碼) 而且你可以藉由 element.setAttribute() 或是 element.getAttribute() 來設定它或得到它。內容屬性永遠都是字串,即便我們所期望的值是一個整數。舉例來說,假設今天要用內容屬性去設定一個 <input> 元素的最大長度是 42,你必須在該元素上呼叫 setAttribute("maxlength", "42")。

IDL 屬性也被稱為 JavaScript 特性。你可以使用 JavaScript 特性的 element.foo 以閱讀或是設定這些屬性。當你要得到 IDL 屬性時,它總是要使用 (但可能改變) 基本的內容屬性以返回值,而當你要設定 IDL 屬性時,它需要儲存資料在內容屬性中。換句話說,IDL 屬性在本質上反映了內容屬性。

在大部分的時間中,當 IDL 屬性真正被使用時,將會返回它們的值。舉例而言,<input> 元素的預設型態是 "text",所以如果你設定 input.type="foobar",<input> 元素一樣是 text 的型態 (在外觀和行為上而言),但是 "type" 內容屬性的值將會變成 "foobar"。然而,IDL 屬性的型態將會回傳 "text" 字串。

IDL 屬性並非永遠的字串 ; 舉例來說,input.maxlength 便是一個數字(型態為 signed long)。當使用 IDL 屬性,你會閱讀或是設定所需的型態,而當你設定 input.maxlength 時,它總是回傳一個數字,因為它正需要一個數字。如果你傳入別的型態,它會依照標準 JavaScript 型態轉換規則,將傳入值轉成一個數字。

IDL 屬性可以 反應其他型態,例如 unsigned long、URLs、booleans,等等。不幸的是,並沒有明確的規則來規範,而且與 IDL 屬性行為相對應的內容屬性連結中,也沒有取決於該屬性的方式。在大部分的時間裡,它會遵守 規範中所制定的規則,但有時候它並不會。HTML 規範嘗試讓它變得容易使用,但由於各種原因 (大多是因為歷史),有些屬性表現得很奇怪 (舉例來說,select.size),而你應該詳細閱讀規範以了解各個屬性的行為。

另請參見