<button>ï¼æéå ç´
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since â¨2015å¹´7æâ©.
* Some parts of this feature may have varying levels of support.
<button> HTML å
ç´ æ¯ä¸åç±ä½¿ç¨è
ä½¿ç¨æ»é¼ ãéµç¤ãææãèªé³å½ä»¤æå
¶ä»è¼å©æè¡ååçäºåå
ç´ ã䏿¦ååï¼å®å°å·è¡ä¸ååä½ï¼ä¾å¦æäº¤ä¸åè¡¨å®ææéå°è©±æ¡ã
é è¨æ æ³ä¸ï¼HTML æéæåç¾çºè使ç¨è 代çæå¨å¹³å°é¡ä¼¼ç樣å¼ï¼ä½ä½ å¯ä»¥ä½¿ç¨ CSS æ´æ¹æéçå¤è§ã
å試ä¸ä¸
<button class="favorite styled" type="button">Add to favorites</button>
.styled {
border: 0;
line-height: 2.5;
padding: 0 20px;
font-size: 1rem;
text-align: center;
color: #fff;
text-shadow: 1px 1px 1px #000;
border-radius: 10px;
background-color: rgba(220, 0, 0, 1);
background-image: linear-gradient(
to top left,
rgba(0, 0, 0, 0.2),
rgba(0, 0, 0, 0.2) 30%,
rgba(0, 0, 0, 0)
);
box-shadow:
inset 2px 2px 3px rgba(255, 255, 255, 0.6),
inset -2px -2px 3px rgba(0, 0, 0, 0.6);
}
.styled:hover {
background-color: rgba(255, 0, 0, 1);
}
.styled:active {
box-shadow:
inset -2px -2px 3px rgba(255, 255, 255, 0.6),
inset 2px 2px 3px rgba(0, 0, 0, 0.6);
}
屬æ§
æ¤å ç´ ç屬æ§å æ¬å ¨å屬æ§ã
autofocus-
æ¤å¸æå±¬æ§æå®é é¢å è¼ææéæè©²å ·æè¼¸å ¥ç¦é»ãæä»¶ä¸åªè½æä¸åå ç´ æææ¤å±¬æ§ã
disabled-
æ¤å¸æå±¬æ§é²æ¢ç¨æ¶èæéé²è¡äº¤äºï¼å®ç¡æ³è¢«æä¸æèç¦ã
form-
èæééè¯ï¼å ¶è¡¨å®ææè ï¼ç
<form>å ç´ ãæ¤å±¬æ§çå¼å¿ é æ¯å䏿件ä¸ä¸å<form>å ç´ çidãï¼å¦ææªè¨ç½®æ¤å±¬æ§ï¼å<button>å°èå ¶ç¥å <form>å ç´ éè¯ï¼å¦ææï¼ãæ¤å±¬æ§å è¨±ä½ å°
<button>å ç´ èæä»¶ä¸çä»»ä½å°æ¹ç<form>éè¯ï¼èä¸å å æ¯å¨<form>å §é¨ãå®éå¯ä»¥è¦èç¥<form>å ç´ ã formaction-
èçæéæäº¤çä¿¡æ¯ç URLãè¦èæéçè¡¨å®ææè ç
action屬æ§ãå¦ææ²æè¡¨å®ææè åä¸èµ·ä½ç¨ã formenctype-
妿æéæ¯æäº¤æéï¼å®å¨
<form>å §é¨ä¸æ²ætype="button"ï¼ï¼åæå®è¦æäº¤çè¡¨å®æ¸æç編碼æ¹å¼ãå¯è½ç弿ï¼application/x-www-form-urlencodedï¼å¦ææªä½¿ç¨æ¤å±¬æ§ï¼åçºé»èªå¼ãmultipart/form-dataï¼ç¨æ¼æäº¤å ¶type屬æ§è¨ç½®çºfileç<input>å ç´ ãtext/plainï¼ä½çºèª¿è©¦è¼å©å·¥å ·ä½¿ç¨ï¼ä¸æè©²ç¨æ¼å¯¦éè¡¨å®æäº¤ã
妿æå®äºæ¤å±¬æ§ï¼åå®å°è¦èæéçè¡¨å®ææè ç
enctype屬æ§ã formmethod-
妿æéæ¯æäº¤æéï¼å®å¨
<form>å §é¨ä¸æ²ætype="button"ï¼ï¼åæ¤å±¬æ§æå®ç¨æ¼æäº¤è¡¨å®ç HTTP æ¹æ³ãå¯è½ç弿ï¼postï¼ç¶å°æ¸ææäº¤å°æå卿ï¼è¡¨å®çæ¸æå°å å«å¨ HTTP è«æ±ç主é«ä¸ãå¨è¡¨å®å å«ä¸æè©²æ¯å ¬éçä¿¡æ¯ï¼ä¾å¦ç»éæèï¼æä½¿ç¨ãgetï¼å°è¡¨å®æ¸æéå å°è¡¨å®çactionURL ä¸ï¼ä½¿ç¨?ä½çºåé符ï¼ä¸¦å°çæç URL ç¼éå°æåå¨ãç¶è¡¨å®æ²æå¯ä½ç¨æä½¿ç¨ï¼ä¾å¦æç´¢è¡¨å®ãdialogï¼æ¤æ¹æ³ç¨æ¼æç¤ºæééè¯ç dialog æè©²ééï¼ä¸¦ä¸æ ¹æ¬ä¸å³è¼¸è¡¨å®æ¸æã
妿æå®äºæ¤å±¬æ§ï¼åå®å°è¦èæéçè¡¨å®ææè ç
method屬æ§ã formnovalidate-
妿æéæ¯æäº¤æéï¼æ¤å¸æå±¬æ§æå®æäº¤è¡¨å®æä¸æé©è表å®ã妿æå®äºæ¤å±¬æ§ï¼åå®å°è¦èæéçè¡¨å®ææè ç
novalidate屬æ§ãæ¤å±¬æ§ä¹é©ç¨æ¼
<input type="image">å<input type="submit">å ç´ ã formtarget-
妿æéæ¯æäº¤æéï¼åæ¤å±¬æ§æ¯ä½è å®ç¾©çåç¨±ææ¨æºåçãä¸åç·åç¶´çééµåï¼æç¤ºæäº¤è¡¨å®å¾è¦å¨åªè£¡é¡¯ç¤ºä¾èªæäº¤çåæã鿝ä¸åç覽ä¸ä¸æï¼ä¸ååé ãçªå£æ
<iframe>ï¼çnameæééµåã妿æå®äºæ¤å±¬æ§ï¼åå®å°è¦èæéçè¡¨å®ææè çtarget屬æ§ã以ä¸ééµåå ·æç¹æ®å«ç¾©ï¼_selfï¼å°åæå è¼å°èç¶åç覽ä¸ä¸æç¸åçå°æ¹ãå¦ææªæå®æ¤å±¬æ§ï¼åçºé»èªå¼ã_blankï¼å°åæå è¼å°æ°çæªå½åç覽ä¸ä¸æä¸ââé常æ¯ä¸åæ°çåé æçªå£ï¼å ·é«å決æ¼ç¨æ¶çç覽å¨è¨ç½®ã_parentï¼å°åæå è¼å°ç¶åç覽ä¸ä¸æçç¶ç覽ä¸ä¸æä¸ãå¦ææ²æç¶ç覽ä¸ä¸æï¼åæ¤é¸é çè¡çºè_selfç¸åã_topï¼å°åæå è¼å°é ç´ç覽ä¸ä¸æä¸ï¼å³ç¶åç覽ä¸ä¸æçç¥å ï¼ä¸¦ä¸æ²æç¶ç覽ä¸ä¸æï¼ãå¦ææ²æç¶ç覽ä¸ä¸æï¼åæ¤é¸é çè¡çºè_selfç¸åã
name-
æéçå稱ï¼èæäº¤è¡¨å®æçæéå¼ä¸èµ·ä½çºè¡¨å®æ¸æçä¸é¨åæäº¤ã
popovertarget-
å°
<button>å ç´ è½æçºå½åºæ§å¶æéï¼ä»¥è¦æ§å¶çå½åºå ç´ ç ID ä½çºå¼ãæéæ´å¤è©³ç´°ä¿¡æ¯ï¼è«åè¦ Popover API ç»éé é¢ã popovertargetaction-
æå®ç±æ§å¶
<button>çå½åºå ç´ å·è¡çæä½ãå¯è½çå¼çºï¼"hide"-
æéå°é±è已顯示çå½åºå ç´ ãå¦æä½ å試é±èå·²ç¶é±èçå½åºå ç´ ï¼å䏿å·è¡ä»»ä½æä½ã
"show"-
æéå°é¡¯ç¤ºé±èçå½åºå ç´ ãå¦æä½ å試顯示已ç¶é¡¯ç¤ºçå½åºå ç´ ï¼å䏿å·è¡ä»»ä½æä½ã
"toggle"-
æéå°å¨é¡¯ç¤ºåé±èä¹éåæå½åºå ç´ ã妿å½åºå ç´ æ¯é±èçï¼å®å°è¢«é¡¯ç¤ºï¼å¦æå½åºå ç´ æ¯é¡¯ç¤ºçï¼å®å°è¢«é±èã妿çç¥äº
popovertargetactionï¼å"toggle"æ¯æ§å¶æéå·è¡çé»èªæä½ã
type-
æéçé»èªè¡çºãå¯è½çå¼çºï¼
submitï¼æéå°è¡¨å®æ¸ææäº¤å°æåå¨ã妿æéè<form>éè¯ä¸æªæå®æ¤å±¬æ§ï¼æè 屬æ§çºç©ºæç¡æå¼ï¼åæ¤çºé»èªå¼ãresetï¼æéå°æææ§ä»¶éç½®çºå®åçåå§å¼ï¼é¡ä¼¼æ¼ <input type="reset">ãï¼æ¤è¡çºå¯è½æä½¿ç¨æ¶æå°ä¸æ»¿ãï¼buttonï¼æéæ²æé»èªè¡çºï¼é»èªæ æ³ä¸æä¸æä¸å·è¡ä»»ä½æä½ãå®å¯ä»¥è®å®¢æ¶ç«¯è ³æ¬ç£è½å ç´ çäºä»¶ï¼ç¶äºä»¶ç¼çæè§¸ç¼è¡çºã
value-
å®ç¾©æéèå ¶
nameéè¯çå¼ï¼ç¶ä½¿ç¨æ¤æéæäº¤è¡¨å®æ¸ææï¼è©²å¼å°ä½çºåæ¸å³éå°æåå¨ã
å註
è¨ç½®äº formaction 屬æ§çæäº¤æéï¼ä½æ²æç¸æçè¡¨å®æï¼å°ä¸å·è¡ä»»ä½æä½ãä½ å¿
é è¨ç½®è¡¨å®ææè
ï¼å¯ä»¥ééå°å
¶å
è£¹å¨ <form> 䏿å°å±¬æ§ form è¨ç½®çºè¡¨å®ç idã
<button> å
ç´ æ¯ <input> å
ç´ æ´å®¹ææ¨£å¼åãä½ å¯ä»¥æ·»å å
§é¨ HTML å
§å®¹ï¼ä¾å¦ <i>ã<br> æçè³ <img>ï¼ï¼ä¸¦ä½¿ç¨ ::after å ::before å½å
ç´ é²è¡è¤é渲æã
å¦æä½ çæé䏿¯ç¨æ¼å°è¡¨å®æ¸ææäº¤å°æåå¨ï¼è«åå¿
å°å
¶ type 屬æ§è¨ç½®çº buttonãå¦åï¼å®åå°å試æäº¤è¡¨å®æ¸æä¸¦å è¼ï¼ä¸åå¨çï¼é¿æï¼å¯è½ç ´å£æä»¶çç¶åçæ
ã
éç¶ <button type="button"> æ²æé»èªè¡çºï¼ä½å¯ä»¥ç·¨å¯«äºä»¶èçç¨åºä»¥è§¸ç¼è¡çºã使ç¨JavaScriptå¯ä»¥ç·¨å¯«å¯ç·¨ç¨åä½ï¼ä¾å¦å¾å表ä¸åªé¤é
ç®ã
ç¯ä¾
<button name="button">Press me</button>
ç¡éç¤è°é¡
>忍æé
å é¡¯ç¤ºåæ¨ä»¥è¡¨ç¤ºçæéæ²æå¯è¨ªåå稱ãå¯è¨ªåå稱æä¾äºè¼å©æè¡ï¼ä¾å¦è¢å¹é±è®å¨ï¼å¨è§£ææä»¶ä¸¦çæç¡éç¤æ¨¹æä½¿ç¨çä¿¡æ¯ãç¶å¾ï¼è¼å©æè¡ä½¿ç¨ç¡éç¤æ¨¹ä¾å°èªåæä½é é¢å §å®¹ã
è¦çºåæ¨æéæä¾å¯è¨ªåå稱ï¼è«å¨ <button> å
ç´ ä¸æ¾ç½®ç°¡è¦æè¿°æéåè½çææ¬ã
ç¯ä¾
<button name="favorite">
<svg aria-hidden="true" viewBox="0 0 10 10">
<path d="M7 9L5 8 3 9V6L1 4h3l1-3 1 3h3L7 6z" />
</svg>
Add to favorites
</button>
çµæ
妿è¦å¨è¦è¦ºä¸é±èæéçææ¬ï¼å¯ä»¥ä½¿ç¨ä¸ç³»å CSS 屬æ§å°å ¶å¾è¢å¹ä¸å»é¤ï¼ä½ä¿æè¼å©æè¡å¯è§£æãç¶èï¼å¼å¾æ³¨æçæ¯ï¼ä¿çæéææ¬çè¦è¦ºåç¾æå©æ¼å¯è½ä¸çæåæ¨å«ç¾©æä¸äºè§£æéç®çç人群ãå°æ¼æè¡ä¸çæçäººï¼æè å°æé使ç¨çåæ¨å ·æä¸åæåè§£éç人ä¾èªªï¼éå°¤å ¶éè¦ã
å°ºå¯¸åæ¥è¿æ§
尺寸
æéç交äºå¼å ç´ ææä¾è¶³å¤ 大çååï¼ä½¿å ¶ææ¼æ¿æ´»ãéæå©æ¼å種人群ï¼å æ¬åå¨éåæ§å¶åé¡ç人ï¼ä»¥å使ç¨éç²¾ç¢ºè¼¸å ¥å½¢å¼ï¼ä¾å¦è§¸æ§çæææï¼ç人ã建è°çæå°äº¤äºå°ºå¯¸çº 44Ã44 CSS åç´ ã
- çè§£æåæ¨æº 2.5.5ï¼ç®æ¨å°ºå¯¸ | W3C çè§£ WCAG 2.1
- ç®æ¨å°ºå¯¸å 2.5.5 | Adrian Roselli
- å¿«éæ¸¬è©¦ï¼å¤§å觸æ§ç®æ¨ - The A11Y Project
æ¥è¿æ§
å°å¤§é交äºå¼å §å®¹ï¼å æ¬æéçï¼æ¾ç½®å¨è¦è¦ºä¸ç¸é°çå°æ¹æï¼æè©²æéè·å°å®ååééä¾ãé種éè·æå©æ¼é£äºå¯è½å çºéåæ§å¶åé¡èæå¤æ¿æ´»é¯èª¤äº¤äºå¼å §å®¹ç人ã
éè·å¯ä»¥ä½¿ç¨ CSS 屬æ§ï¼ä¾å¦ marginï¼åµå»ºã
ARIA çæ è³è¨
è¦æè¿°æéççæ
ï¼æ£ç¢ºä½¿ç¨ç ARIA å±¬æ§æ¯ aria-pressedï¼è䏿¯ aria-checked æ aria-selectedãè¦äºè§£æ´å¤ä¿¡æ¯ï¼è«é±è®æé ARIA æéè§è² çä¿¡æ¯ã
Firefox
Firefox æå¨ç¦é»ä½æ¼æéä¸ææ·»å ä¸åå°èé»éæ¡ãéåéæ¡æ¯å¨çè¦½å¨æ¨£å¼è¡¨ä¸éé CSS è²æçï¼ä½ä½ å¯ä»¥è¦èå®ä»¥æ·»å èªå·±çç¦é»æ¨£å¼ï¼ä½¿ç¨ button::-moz-focus-inner { }ã
妿è¦èäºå®ï¼ç¢ºä¿ç¶ç¦é»ç§»åå°æé䏿ççæ è®åè¶³å¤ æé¡¯ï¼ä»¥ä¾¿è¦ååæç人è½å¤ æç¥å®ã
é¡è²å°æ¯åº¦æ¯ééæ¯è¼æéææ¬åèæ¯é¡è²å¼ç¸å°æ¼æéæ¾ç½®å¨å
¶ä¸çèæ¯ç亮度ä¾ç¢ºå®çãçºäºæ»¿è¶³ç¶åç ç¶²é å
§å®¹ç¡éç¤æ§æåï¼WCAGï¼ï¼ææ¬å
§å®¹éè¦éå° 4.5:1 çæ¯çï¼å¤§ææ¬åéè¦ 3:1ã ï¼å¤§ææ¬è¢«å®ç¾©çº 18.66px å bold ææ´å¤§ï¼æè
24px ææ´å¤§ãï¼
黿åç¦é»
å¨å¤§å¤æ¸ç覽å¨ä¸ï¼å®æ <button> æ <input> æéé¡åæå°è´å
¶ï¼é»èªæ
æ³ä¸ï¼ç²å¾ç¦é»ï¼ä½æ¯æ ¹æç覽å¨åæä½ç³»çµ±ï¼éæ¯ä¸åçã大夿¸ç覽å¨ç¢ºå¯¦æå°ç¦é»è¨ç½®å¨å®æçæéä¸ï¼ä½æ¯ Safari ç±æ¼è¨è¨åå 䏿鿍£åã
æè¡æè¦
| å §å®¹é¡å | æµå §å®¹ã段è½åå §å®¹ãäºååå §å®¹ãlistedãlabelable å submittable 表å®ç¸éå §å®¹å ç´ ãæ«åå §å®¹ã |
|---|---|
| å 許çå §å®¹ | 段è½åå §å®¹ï¼ä½ä¸è½å å«äºååå §å®¹ã |
| æ¨ç±¤çç¥ | ä¸å 許ï¼éå§åçµææ¨ç±¤é½æ¯å¿ é çã |
| å 許çç¶å ç´ | 任使¥å段è½åå §å®¹çå ç´ ã |
| é±å«ç ARIA è§è² |
button
|
| å 許ç ARIA è§è² |
checkboxãcomboboxãlinkãmenuitemãmenuitemcheckboxãmenuitemradioãoptionãradioãswitchãtab
|
| DOM ä»é¢ | HTMLButtonElement |
è¦ç¯
| Specification |
|---|
| HTML > # the-button-element > |