CSS :autofill æ¬ä¼¼ã¯ã©ã¹
å©ç¨å¯è½æ§ã¯éå®ç
ãã®æ©è½ã¯ãã¼ã¹ã©ã¤ã³ã§ã¯ããã¾ãããæãåºã使ç¨ããã¦ãããã©ã¦ã¶ã¼ã®ä¸é¨ã§åä½ãã¾ããã
Want more browser support for this feature? Tell us why.
:autofill 㯠CSS ã®æ¬ä¼¼ã¯ã©ã¹ã§ã <input> è¦ç´ ã®å¤ããã©ã¦ã¶ã¼ã«ãã£ã¦èªåè£å®ãããæã«ä¸è´ãã¾ãããã®ã¯ã©ã¹ã¯ã¦ã¼ã¶ã¼ããã£ã¼ã«ããç·¨éããã¨ä¸è´ããªããªãã¾ãã
試ãã¦ã¿ã¾ããã
input {
border: 3px solid black;
}
input:autofill {
outline: 5px solid magenta;
border: 3px dashed yellow;
}
<form>
<p>ããã¹ãããã¯ã¹ãã¯ãªãã¯ãããã©ã¦ã¶ã¼ãææ¡ãããªãã·ã§ã³ããä»»æã®ãã®ã鏿ãã¦ãã ããã</p>
<p>
<label for="name">åå</label>
<input id="name" name="name" type="text" autocomplete="given-name" />
</p>
<p>
<label for="email">ã¡ã¼ã«ã¢ãã¬ã¹</label>
<input id="email" name="email" type="email" autocomplete="email" />
</p>
<p>
<label for="country">å½</label>
<input
id="country"
name="country"
type="text"
autocomplete="country-name" />
</p>
</form>
解説
:autofill æ¬ä¼¼ã¯ã©ã¹ã§ã¯ãã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ãã«ãã£ã¦èªåå
¥åãããæªç·¨éã®ã³ã³ãã³ããå«ã <input> è¦ç´ ã鏿ãã¾ããèªåå
¥åã¯ããã©ã¦ã¶ã¼è¨å®ã§èªåå
¥åãæå¹ã«ãªã£ã¦ããå ´åãã¾ãã¯è¦ç´ èªä½ã« autocomplete 屿§ãè¨å®ããã¦ããå ´åã«çºçãããã¨ãããã¾ãã
ã¦ã¼ã¶ã¼ããã©ã¦ã¶ã¼ã®èªåè£å®æ©è½ã使ç¨ãã¦ãã©ã¼ã ã³ã³ããã¼ã«ãèªåå
¥åããã¨ã鏿å
容ã«åºã¥ãã¦èªåå
¥åå¯è½ãªãã¹ã¦ã®ãã©ã¼ã ã³ã³ããã¼ã«ã«å¤ãå
¥åããã¾ãããããã¯ãã¹ã¦ :autofill UI ç¶æ
ã¨ä¸è´ãã¾ããã¦ã¼ã¶ã¼ãã³ã³ããã¼ã«ãç·¨éããã¨ããã¨ãå¤ãèªåå
¥åãããå¤ã¨åãã§ãã£ã¦ãããã®ã³ã³ããã¼ã«ã¯ :autofill ã¨ä¸è´ããªããªãã¾ãã
仿§æ¸ã§ã¯ããã³ãã¼æ¥é è¾ä»ãã® :-webkit-autofill æ¬ä¼¼ã¯ã©ã¹ãå¥åã¨ãã¦åé²ãã¦ãã¾ããããã¯ãã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ãã«ãã£ã¦èªåå
¥åããã input è¦ç´ ã«ãä¸è´ãã¾ãããã¦ã¼ã¶ã¼ãèªåå
¥åããããã£ã¼ã«ããç·¨éããå ´åã¯ä¸è´ããªããªãã¾ãã
å¤ãã®ãã©ã¦ã¶ã¼ã®ã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ãã¹ã¿ã¤ã«ã·ã¼ãã§ã¯ãã¹ã¿ã¤ã«å®£è¨ã« !important ã使ç¨ããã¦ãããä¸é¨ã®ã¹ã¿ã¤ã«ã䏿¸ãã§ããªãç¹ã«æ³¨æãã¦ãã ããããã¨ãã°ãChrome ã®å
é¨ã¹ã¿ã¤ã«ã·ã¼ãã«ã¯æ¬¡ã®ãããªè¨è¿°ãããã¾ãã
input:-internal-autofill-selected {
appearance: menulist-button;
background-image: none !important;
background-color:
light-dark(rgb(232, 240, 254), rgba(70, 90, 126, 0.4)) !important;
color: fieldtext !important;
}
ã¤ã¾ããç¬èªã®ã«ã¼ã«ã«ããã¦ã鏿ãããèªåå
¥åãããå
¥åè¦ç´ ã®ããã©ã«ãã® background-colorã background-imageãcolor ã®å¤ãèªèº«ã®ã«ã¼ã«ã§ä¸æ¸ããããã¨ã¯ã§ãã¾ããããappearance ã¯ä¸æ¸ãå¯è½ã§ããã¾ããç¾å¨ãã©ã¼ã«ã¹ããã¦ããªãèªåå
¥åãããè¦ç´ ã«ã¤ãã¦ã¯ããããã®ããããã£ã䏿¸ããããã¨ãã§ãã¾ãã
æ§æ
:autofill {
/* ... */
}
ä¾
次ã®ä¾ã¯ã:autofill æ¬ä¼¼ã¯ã©ã¹ã使ç¨ãã¦ããã©ã¦ã¶ã¼ã«ãã£ã¦èªåè£å®ãããããã¹ããã£ã¼ã«ãã®å¢çç·ã夿´ãããã¨ã示ãã¦ãã¾ãã
HTML
HTML <input> è¦ç´ ã 3 ã¤å«ãã§ãããããããã« <label> ãé¢é£ä»ãããã¦ãã¾ããname 㨠email ã¯èªåè£å®ããã:autofill ã¨ä¸è´ããå¯è½æ§ãé«ãã§ãããpet ã®å¤ã¯ä¸è´ããªãå¯è½æ§ãé«ãã§ãã
<form method="post" action="">
<p>
<label for="name">åå: </label>
<input name="n" id="name" autocomplete="given-name" />
</p>
<p>
<label for="email">ã¡ã¼ã«ã¢ãã¬ã¹</label>
<input type="email" name="email" id="email" autocomplete="email" />
</p>
<p>
<label for="pet">ãããã®åå: </label>
<input name="pet" id="pet" />
</p>
</form>
CSS
<input> è¦ç´ ã :autofill ç¶æ
ã«ãªã£ãéãborder-radiusãoutlineãborder-color ãé©ç¨ãã¾ãã
input {
border-radius: 0px;
}
input:autofill {
border-radius: 0.5lh;
outline: 5px dashed magenta;
border-color: yellow;
}
çµæ
name ãã£ã¼ã«ãã®èªåè£å®ãæå¹ã«ããã¨ãname 㨠email ã®ä¸¡æ¹ã«ä¸¸ã¿ã帯ã³ãæ ç·ã¨ãã¼ã³ã¿è²ã®è¼ªéãé©ç¨ããã¾ãããã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ãã®ã¹ã¿ã¤ã«ã·ã¼ãã« !important ãã©ã°ãè¨å®ããã¦ãããããæ ç·ã®è¡¨ç¤ºã¯å¤ãããªãå¯è½æ§ãããã¾ããããããã®ãã£ã¼ã«ããç·¨éãã¦ã¿ã¦ãã ãããå¤ãç·¨éããã¨ããã¨ãèªåè£å®ã®å¤ã«æ»ããã¨ãã¦ãã:autofill ã®ã¹ã¿ã¤ã«ãé©ç¨ãããªããªããã¨ã«æ³¨ç®ãã¦ãã ããã
仿§æ¸
| 仿§æ¸ |
|---|
| HTML > # selector-autofill > |
| Selectors Level 4 > # selectordef-autofill > |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
<input>æ¬ä¼¼ã¯ã©ã¹- CSS ã»ã¬ã¯ã¿ã¼ã¢ã¸ã¥ã¼ã«