<input type="image">
åºçº¿
广æ³å¯ç¨
èª 2015å¹´7æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
image ç±»åç <input> å
ç´ ç¨äºå建å¾å½¢åçæäº¤æé®ï¼å³éç¨å¾åèéææ¬å½¢å¼çæäº¤æé®ã
å°è¯ä¸ä¸
<p>Sign in to your account:</p>
<div>
<label for="userId">User ID</label>
<input type="text" id="userId" name="userId" />
</div>
<input
type="image"
id="image"
alt="Login"
src="/shared-assets/images/examples/login-button.png" />
label {
font-size: 0.8rem;
}
label,
input[type="image"] {
margin-top: 1rem;
}
input[type="image"] {
width: 80px;
}
å¼
<input type="image"> å
ç´ ä¸æ¥å value 屿§ãè¦æ¾ç¤ºçå¾åçè·¯å¾å¨ src 屿§ä¸æå®ã
é¢å¤å±æ§
é¤äºææ <input> å
ç´ çå
±æå±æ§å¤ï¼image æé®è¿æ¯æä»¥ä¸å±æ§ã
alt
alt 屿§æä¾ä¸ä¸ªå¤ç¨å符串ï¼å¨å¾åæ æ³å è½½çæ
åµä¸ä½ä¸ºæé®çæ æ³¨ï¼ç±äºé误ï¼ä¸ä¸ªä¸è½æè
被设置为ä¸è½æ¾ç¤ºå¾åç user agentï¼æç¨æ·æ£å¨ä½¿ç¨å±å¹é
读设å¤ï¼ã妿å®è¢«æä¾ï¼å®å¿
须为é空å符串ï¼ä¸éåä½ä¸ºæé®çæ ç¾ã
ä¾å¦ï¼å¦æä½ æä¸ä¸ªæé®ï¼æ¾ç¤ºä¸ä¸ªå¸¦æå¾æ å/æå¾åææ¬âç°å¨ç»å½âçå¾çï¼ä½ ä¹åºè¯¥è®¾ç½® alt 屿§ä¸ºç±»ä¼¼äº ç°å¨ç»å½ çä¸è¥¿ã
formaction
ä¸ä¸ªåç¬¦ä¸²ï¼æç¤ºè¦å°æ°æ®æäº¤å°ç URLãè¿ä¼å
äºæ¥æ <input> ç <form> å
ç´ ä¸ç action 屿§ã
è¯¥å±æ§ä¹å¨ <input type="submit"> å <button> å
ç´ ä¸å¯ç¨ã
formenctype
ä¸ä¸ªåç¬¦ä¸²ï¼æ è¯å¨å°è¡¨åæ°æ®æäº¤å°æå¡å¨æ¶è¦ä½¿ç¨çç¼ç æ¹æ³ãæä¸ä¸ªå 许çå¼ï¼
application/x-www-form-urlencoded-
è¿æ¯é»è®¤å¼ï¼å®å°ä¼å°è¡¨åæ°æ®å¨ä½¿ç¨
encodeURI()çç®æ³è¿è¡ URL ç¼ç ååéã multipart/form-data-
使ç¨
FormDataAPI æ¥ç®¡çæ°æ®ï¼å 许åæå¡å¨æäº¤æä»¶ãä½ å¿ é¡»ä½¿ç¨è¯¥ç¼ç æ¹å¼ï¼å¦æä½ ç表åå å«type为fileï¼<input type="file">ï¼çä»»ä½<input>å ç´ ã text/plain-
çº¯ææ¬ï¼é常åªå¨è°è¯æ¶æä½ç¨ï¼ä½ å¯ä»¥å¾å®¹æçå°è¦è¢«æäº¤çæ°æ®ã
å¦æè¯¥å±æ§è¢«æå®ï¼formenctype 屿§çå¼å°ä¼è¦ç表åç action 屿§ã
è¯¥å±æ§ä¹å¨ <input type="submit"> å <button> å
ç´ ä¸å¯ç¨ã
formmethod
ä¸ä¸ªåç¬¦ä¸²ï¼æå®æäº¤è¡¨åæ°æ®æ¶ä½¿ç¨ç HTTP æ¹æ³ï¼è¯¥å¼å°ä¼è¦çæå±è¡¨åä¸çä»»ä½ method 屿§ãå
许çå¼å¦ä¸ï¼
get-
以
formactionæaction屿§ç»å®ç URL 为åç¼æé çä¸ä¸ª URLï¼å¨åç¼åä¼éå ä¸ä¸ªé®å·ï¼?ï¼å符ï¼ç¶åéå è¡¨åæ°æ®ï¼è¡¨åæ°æ®æç §formenctypeæè¡¨åçenctype屿§çæè¿°è¿è¡ç¼ç ãæé ç URL ä¼éè¿ HTTPget请æ±åéå°æå¡å¨ãæ¤æ¹æ³éç¨äºä» å å« ASCII å符ï¼ä¸æ²¡æå¯ä½ç¨çç®å表åãè¿æ¯è¯¥å±æ§çé»è®¤å¼ã post-
è¡¨åæ°æ®å å«å¨è¯·æ±ç主ä½ï¼bodyï¼ä¸ï¼å¹¶ä½¿ç¨ HTTP
post请æ±åéå°formactionæaction屿§æå®ç URLãæ¤æ¹æ³æ¯æå¤ææ°æ®åæä»¶éä»¶ã dialog-
æ¤æ¹æ³ç¨äºæç¤ºå ³éä¸è¯¥è¾å ¥å ç´ å ³èçå¯¹è¯æ¡çä¸ä¸ªæé®ï¼å ¶ä¸ä¼ä¼ è¾è¡¨åæ°æ®ã
è¯¥å±æ§ä¹å¨ <input type="submit"> å <button> å
ç´ ä¸å¯ç¨ã
formnovalidate
ä¸ä¸ªå¸å°å¼ï¼å¦æåå¨ï¼åæå®å¨æäº¤ç»æå¡å¨ä¹åä¸åºå¯¹è¡¨åè¿è¡éªè¯ãè¿å°ä¼è¦çå
ç´ æå±è¡¨åä¸ç novalidate 屿§çå¼ã
è¯¥å±æ§ä¹å¨ <input type="submit"> å <button> å
ç´ ä¸å¯ç¨ã
formtarget
ä¸ä¸ªåç¬¦ä¸²ï¼æå®ä¸ä¸ªååæå
³é®è¯æ¥è¡¨ç¤ºå¨æäº¤è¡¨ååå¨ä½å¤æ¾ç¤ºååºæ°æ®ã该å符串å¿
é¡»æ¯ä¸ä¸ªæµè§ä¸ä¸æçååï¼å³ä¸ä¸ªæ ç¾é¡µãçªå£ï¼æ <iframe>ï¼ã卿¤å¤æå®çå¼å°ä¼è¦ç <form> 䏿¥æè¯¥è¾å
¥ç target 屿§æç»åºçä»»ä½ç®æ ã
é¤äºæ ç¾é¡µãçªå£æå èæ¡æ¶çå®é ååï¼è¿æé¨åç¹æ®å ³é®è¯å¯ç¨ï¼
_self-
å°ååºå è½½å°ä¸å å«è¡¨åçæµè§ä¸ä¸æç¸åçæµè§ä¸ä¸æä¸ãè¿å°ç¨æ¥æ¶å°çæ°æ®æ¿æ¢å½åææ¡£ãå¦ææªæå®ï¼è¿å°æ¯é»è®¤å¼ã
_blank-
å°ååºå è½½å°æ°çæªå½åæµè§ä¸ä¸æä¸ãè¿é常æ¯ä¸ä¸ªä¸å½åææ¡£ç¸åççªå£ä¸çæ°é项å¡ï¼ä½æ¯å¯è½ä¼å ä¸ºç¨æ·ä»£ççé ç½®èææä¸åã
_parent-
å°ååºå è½½å°å½åæµè§ä¸ä¸æçç¶æµè§ä¸ä¸æä¸ãè¥ä¸åå¨ç¶æµè§ä¸ä¸æï¼è¯¥é项çè¡ä¸ºå°ä¸
_selfç¸åã _top-
å°ååºå è½½å°é¡¶çº§æµè§ä¸ä¸æä¸ï¼å®æ¯å½åæµè§ä¸ä¸æçæé¡¶å±ç¥å ã妿å½åæµè§ä¸ä¸æä¸ºæé¡¶å±ä¸ä¸æï¼è¯¥é项çè¡ä¸ºå°ä¸
_selfç¸åã
è¯¥å±æ§ä¹å¨ <input type="submit"> å <button> å
ç´ ä¸å¯ç¨ã
height
ä¸ä¸ªè¡¨ç¤ºç»å¶ src 屿§æå®å¾åçé«åº¦çæ°åï¼ä»¥ CSS åç´ ä¸ºåä½ã
src
ä¸ä¸ªåç¬¦ä¸²ï¼æå®å°è¦å¨æäº¤æé®ä¸æ¾ç¤ºçå¾åç URLãå½ç¨æ·ä¸è¯¥å¾åäº¤äºæ¶ï¼è¾å ¥å°ä¼ä»¥åå ¶ä»æé®è¾å ¥ç¸åçæ¹å¼è¢«å¤çã
width
ä¸ä¸ªè¡¨ç¤ºç»å¶å¾åå®½åº¦çæ°åï¼ä»¥ CSS åç´ ä¸ºåä½ã
å·²å¼ç¨ç屿§
ä¸å屿§æ¯ç± HTML 4 为 image è¾å
¥å®ä¹çï¼ä½æªè¢«æææµè§å¨å®ç°ï¼å¹¶ä¸å·²è¢«å¼ç¨ã
usemap
妿 usemap 被æå®ï¼å®å¿
é¡»æ¯ä¸ä¸ªå¾åæ å°å
ç´ çååã<map> ç¨äºå®ä¹ä¸ä¸ªåå¾åä¸å使ç¨çå¾åæ å°ãè¯¥ç¨æ³å·²è¢«å¼ç¨ï¼å½ä½ éè¦ä½¿ç¨å¾åæ å°æ¶ï¼ä½ åºè¯¥åæ¢å°ä½¿ç¨ <img> å
ç´ ã
示ä¾
>ä¸ä¸ªç»å½è¡¨å
ä¸é¢çä¾åæ¾ç¤ºåä¹åç¸åçæé®ï¼ä½è¢«å å«å¨äºä¸ä¸ªå ¸åç»å½è¡¨åçä¸ä¸æä¸ï¼
HTML
<form>
<p>ç»å½å°ä½ çè´¦æ·</p>
<div>
<label for="userId">ç¨æ· ID</label>
<input type="text" id="userId" name="userId" />
</div>
<div>
<label for="pwd">å¯ç </label>
<input type="password" id="pwd" name="pwd" />
</div>
<div>
<input
id="image"
type="image"
src="https://raw.githubusercontent.com/mdn/learning-area/master/html/forms/image-type-example/login.png"
alt="Login"
width="100" />
</div>
</form>
CSS
ä¸é¢æ¯ä¸äºç®åç CSS æ¥è®©è¿äºåºæ¬å ç´ æåæ´æ´é½ï¼
div {
margin-bottom: 10px;
}
label {
display: inline-block;
width: 70px;
text-align: right;
padding-right: 10px;
}
è°æ´å¾åçä½ç½®å缩æ¾
å¨è¿ä¸ªä¾åéï¼æä»¬è°æ´äºä¹åçä¾åï¼ä¸ºå¾åçåºäºæ´å¤ç©ºé´ï¼å¹¶ä½¿ç¨ object-fit å object-position æ¥è°èå¾åç大å°åä½ç½®ã
HTML
<form>
<p>ç»å½å°ä½ çè´¦æ·</p>
<div>
<label for="userId">ç¨æ· ID</label>
<input type="text" id="userId" name="userId" />
</div>
<div>
<label for="pwd">å¯ç </label>
<input type="password" id="pwd" name="pwd" />
</div>
<div>
<input
id="image"
type="image"
src="https://raw.githubusercontent.com/mdn/learning-area/master/html/forms/image-type-example/login.png"
alt="Login"
width="200"
height="100" />
</div>
</form>
CSS
div {
margin-bottom: 10px;
}
label {
display: inline-block;
width: 70px;
text-align: right;
padding-right: 10px;
}
#image {
object-position: right top;
object-fit: contain;
background-color: #ddd;
}
è§è
| è§è |
|---|
| HTML > # image-button-state-(type=image) > |
æµè§å¨å ¼å®¹æ§
åè§
- å®ç°å®ç
<input>åHTMLInputElementæ¥å£ã - å¨
<input>å ç´ çæ¡æ¶å æ¹åå¾åçä½ç½®å大å°ï¼object-positionåobject-fit - CSS 屿§çå ¼å®¹æ§