Baseline Widely available
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
屿§æä¾ä¸ä¸ªå¤ç¨å符串ï¼å¨å¾åæ æ³å è½½çæ
åµä¸ä½ä¸ºæé®çæ æ³¨ï¼ç±äºé误ï¼ä¸ä¸ªä¸è½æè
被设置为ä¸è½æ¾ç¤ºå¾åç user agentï¼æç¨æ·æ£å¨ä½¿ç¨å±å¹é
读设å¤ï¼ã妿å®è¢«æä¾ï¼å®å¿
须为é空å符串ï¼ä¸éåä½ä¸ºæé®çæ ç¾ã
ä¾å¦ï¼å¦æä½ æä¸ä¸ªæé®ï¼æ¾ç¤ºä¸ä¸ªå¸¦æå¾æ å/æå¾åææ¬âç°å¨ç»å½âçå¾çï¼ä½ ä¹åºè¯¥è®¾ç½® alt
屿§ä¸ºç±»ä¼¼äº ç°å¨ç»å½
çä¸è¥¿ã
夿³¨ï¼ è½ç¶ alt
屿§å¨ææ¯ä¸æ¯å¯éçï¼ä½æ¯ä½ æ»åºè¯¥å
å«å®ï¼ä»¥æå¤§éåº¦å°æé«ä½ çå
容çå¯ç¨æ§ãå¨åè½ä¸ï¼<input type="image">
å
ç´ ç alt
屿§ä¸ <img>
å
ç´ ç alt
屿§ç¸ç±»ä¼¼ã
ä¸ä¸ªåç¬¦ä¸²ï¼æç¤ºè¦å°æ°æ®æäº¤å°ç URLãè¿ä¼å
äºæ¥æ <input>
ç <form>
å
ç´ ä¸ç action
屿§ã
è¯¥å±æ§ä¹å¨ <input type="submit">
å <button>
å
ç´ ä¸å¯ç¨ã
ä¸ä¸ªåç¬¦ä¸²ï¼æ è¯å¨å°è¡¨åæ°æ®æäº¤å°æå¡å¨æ¶è¦ä½¿ç¨çç¼ç æ¹æ³ãæä¸ä¸ªå 许çå¼ï¼
application/x-www-form-urlencoded
è¿æ¯é»è®¤å¼ï¼å®å°ä¼å°è¡¨åæ°æ®å¨ä½¿ç¨ encodeURI()
çç®æ³è¿è¡ URL ç¼ç ååéã
multipart/form-data
ä½¿ç¨ FormData
API æ¥ç®¡çæ°æ®ï¼å
许åæå¡å¨æäº¤æä»¶ãä½ å¿
须使ç¨è¯¥ç¼ç æ¹å¼ï¼å¦æä½ ç表åå
å« type
为 file
ï¼<input type="file">
ï¼çä»»ä½ <input>
å
ç´ ã
text/plain
çº¯ææ¬ï¼é常åªå¨è°è¯æ¶æä½ç¨ï¼ä½ å¯ä»¥å¾å®¹æçå°è¦è¢«æäº¤çæ°æ®ã
å¦æè¯¥å±æ§è¢«æå®ï¼formenctype
屿§çå¼å°ä¼è¦ç表åç action
屿§ã
è¯¥å±æ§ä¹å¨ <input type="submit">
å <button>
å
ç´ ä¸å¯ç¨ã
ä¸ä¸ªåç¬¦ä¸²ï¼æå®æäº¤è¡¨åæ°æ®æ¶ä½¿ç¨ç HTTP æ¹æ³ï¼è¯¥å¼å°ä¼è¦çæå±è¡¨åä¸çä»»ä½ method
屿§ãå
许çå¼å¦ä¸ï¼
get
以 formaction
æ action
屿§ç»å®ç URL 为åç¼æé çä¸ä¸ª URLï¼å¨åç¼åä¼éå ä¸ä¸ªé®å·ï¼?
ï¼å符ï¼ç¶åéå è¡¨åæ°æ®ï¼è¡¨åæ°æ®æç
§ formenctype
æè¡¨åç enctype
屿§çæè¿°è¿è¡ç¼ç ãæé ç URL ä¼éè¿ HTTP get
请æ±åéå°æå¡å¨ãæ¤æ¹æ³éç¨äºä»
å
å« ASCII å符ï¼ä¸æ²¡æå¯ä½ç¨çç®å表åãè¿æ¯è¯¥å±æ§çé»è®¤å¼ã
post
è¡¨åæ°æ®å
å«å¨è¯·æ±ç主ä½ï¼bodyï¼ä¸ï¼å¹¶ä½¿ç¨ HTTP post
请æ±åéå° formaction
æ action
屿§æå®ç URLãæ¤æ¹æ³æ¯æå¤ææ°æ®åæä»¶éä»¶ã
dialog
æ¤æ¹æ³ç¨äºæç¤ºå ³éä¸è¯¥è¾å ¥å ç´ å ³èçå¯¹è¯æ¡çä¸ä¸ªæé®ï¼å ¶ä¸ä¼ä¼ è¾è¡¨åæ°æ®ã
è¯¥å±æ§ä¹å¨ <input type="submit">
å <button>
å
ç´ ä¸å¯ç¨ã
ä¸ä¸ªå¸å°å¼ï¼å¦æåå¨ï¼åæå®å¨æäº¤ç»æå¡å¨ä¹åä¸åºå¯¹è¡¨åè¿è¡éªè¯ãè¿å°ä¼è¦çå
ç´ æå±è¡¨åä¸ç novalidate
屿§çå¼ã
è¯¥å±æ§ä¹å¨ <input type="submit">
å <button>
å
ç´ ä¸å¯ç¨ã
ä¸ä¸ªåç¬¦ä¸²ï¼æå®ä¸ä¸ªååæå
³é®è¯æ¥è¡¨ç¤ºå¨æäº¤è¡¨ååå¨ä½å¤æ¾ç¤ºååºæ°æ®ã该å符串å¿
é¡»æ¯ä¸ä¸ªæµè§ä¸ä¸æçååï¼å³ä¸ä¸ªæ ç¾é¡µãçªå£ï¼æ <iframe>
ï¼ã卿¤å¤æå®çå¼å°ä¼è¦ç <form>
䏿¥æè¯¥è¾å
¥ç target
屿§æç»åºçä»»ä½ç®æ ã
é¤äºæ ç¾é¡µãçªå£æå èæ¡æ¶çå®é ååï¼è¿æé¨åç¹æ®å ³é®è¯å¯ç¨ï¼
_self
å°ååºå è½½å°ä¸å å«è¡¨åçæµè§ä¸ä¸æç¸åçæµè§ä¸ä¸æä¸ãè¿å°ç¨æ¥æ¶å°çæ°æ®æ¿æ¢å½åææ¡£ãå¦ææªæå®ï¼è¿å°æ¯é»è®¤å¼ã
_blank
å°ååºå è½½å°æ°çæªå½åæµè§ä¸ä¸æä¸ãè¿é常æ¯ä¸ä¸ªä¸å½åææ¡£ç¸åççªå£ä¸çæ°é项å¡ï¼ä½æ¯å¯è½ä¼å ä¸ºç¨æ·ä»£ççé ç½®èææä¸åã
_parent
å°ååºå è½½å°å½åæµè§ä¸ä¸æçç¶æµè§ä¸ä¸æä¸ãè¥ä¸åå¨ç¶æµè§ä¸ä¸æï¼è¯¥é项çè¡ä¸ºå°ä¸ _self
ç¸åã
_top
å°ååºå è½½å°é¡¶çº§æµè§ä¸ä¸æä¸ï¼å®æ¯å½åæµè§ä¸ä¸æçæé¡¶å±ç¥å
ã妿å½åæµè§ä¸ä¸æä¸ºæé¡¶å±ä¸ä¸æï¼è¯¥é项çè¡ä¸ºå°ä¸ _self
ç¸åã
è¯¥å±æ§ä¹å¨ <input type="submit">
å <button>
å
ç´ ä¸å¯ç¨ã
ä¸ä¸ªè¡¨ç¤ºç»å¶ src
屿§æå®å¾åçé«åº¦çæ°åï¼ä»¥ CSS åç´ ä¸ºåä½ã
ä¸ä¸ªåç¬¦ä¸²ï¼æå®å°è¦å¨æäº¤æé®ä¸æ¾ç¤ºçå¾åç URLãå½ç¨æ·ä¸è¯¥å¾åäº¤äºæ¶ï¼è¾å ¥å°ä¼ä»¥åå ¶ä»æé®è¾å ¥ç¸åçæ¹å¼è¢«å¤çã
widthä¸ä¸ªè¡¨ç¤ºç»å¶å¾åå®½åº¦çæ°åï¼ä»¥ CSS åç´ ä¸ºåä½ã
å·²å¼ç¨ç屿§ä¸å屿§æ¯ç± HTML 4 为 image
è¾å
¥å®ä¹çï¼ä½æªè¢«æææµè§å¨å®ç°ï¼å¹¶ä¸å·²è¢«å¼ç¨ã
妿 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
æ¥è°èå¾åç大å°åä½ç½®ã
<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;
}
è§è æµè§å¨å
¼å®¹æ§ åè§
<input>
å HTMLInputElement
æ¥å£ã<input>
å
ç´ çæ¡æ¶å
æ¹åå¾åçä½ç½®å大å°ï¼object-position
å object-fit
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4