壹 ❀ 引
本來這個階段的項目頁面都是給實習生妹子做的,我只用寫寫功能接接數據,但這兩天妹子要忙翻譯,這個工作階段也快結束了導致有點慌,只能自己把剩余的幾個小頁面給寫了。
那么做頁面的過程中,UI也是精益求精提了部分小要求,例如希望修改input提示語(placeholder)字號顏色,再如瀏覽器會記住密碼,導致input輸入框自帶了背景色,希望去除這個顏色。之前也沒遇到過,或者說遇到也記不住代碼,所以趁此機會記錄下。
貳 ❀ 修改placeholder字號顏色
placeholder字體大小默認繼承input字體大小,當然有時候我們希望提示語句與input輸入問題字體大小不同,其次,placeholder背景色與字體顏色不會繼承input,所以得額外設置,我們可以通過如下代碼設置,例如修改前后:
input::-webkit-input-placeholder { /* 修改字體顏色 */ color: #fff; /* 修改字號,默認繼承input */ font-size: 12px; /* 設置背景色 */ background: #8ac6d1; }
叄 ❀ 修改input記住賬號密碼的背景色
瀏覽器有時候會自動幫助我們記住賬號密碼,然后記住之后,input就被動的添加了一個淡藍色,UI表示看着很不舒服,希望不要有顏色,如下圖:
然后查了下,目前有兩種解決方案:
1.利用box-shadow為input添加內陰影
input:-webkit-autofill { -webkit-box-shadow: 0 0 0 1000px white inset !important; }
京東目前用的就是這種方案,天貓沒處理這個。我仔細觀察了下,瀏覽器剛刷新完input是沒有顏色的,然后瀏覽器幫input填充記住的賬號密碼,變成藍色,然后樣式填充生效,又變成白色,有個顏色抖動的問題,效果不是很理想。
其次,因為陰影填充的緣故,如果背景是透明的就非常明顯了,不太美觀。
2.利用transition為顏色填充添加一個極長的等待時間
能想到這個方法的也是個人才了,因為瀏覽器在給input添加賬號密碼時,input背景色有一個從無到有的過程,所以我們利用transition為這個過程添加一個N久的等待時間,這樣瀏覽器就一直無法填充我們不喜歡的顏色了。
input:-webkit-autofill { transition: background-color 5000s ease-in-out 0s; }
我們可以嘗試將5000s改為3s,效果如下,可以看到3秒內顏色慢慢出現,所以添加一個非常久的時間,讓瀏覽器等到自閉!
目前能通過css解決的手段貌似就看到了這兩種,用哪種就因人而異了。
那么就寫到這了,人困了...