【CSS】chrome input[type=text]標簽內placeholder字體偏下,不垂直居中


最近在開發項目時發現,在移動端input里面的placeholder字體偏下,但PC端卻是垂直居中,而兩者的代碼幾乎相同,只是字體大小有差異,查詢發現原來就是它惹的禍。

原因:

輸入的文字font-size大於placeholder的font-size。
當時我的代碼中PC端與移動端的font-size均為默認值:16px,而PC端的placeholder的font-size為18px,移動端的placeholder的font-size為12px。

解決辦法:

① 利用css選擇器:placeholder-shown,該選擇器會匹配當前無輸入值的輸入框(但必須設置placeholder),當輸入框沒有輸入值時,我們可以把輸入框的字體大小調整至小於或等於placeholder字體大小的狀態,這樣就解決字體偏下的問題啦。

示例代碼:

:placeholder-shown{
  font-size:12px;
}

② 當然也可以直接在::placeholder偽元素中使用translateY調整文字上下位置。

&::placeholder{
  transform: translateY(-5px);
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM