今天在羣裏看到羣友問了一個這樣的問題,就是如何更改placeholder屬性中文字的顏色,之前用過這屬性,倒是沒更改過顏色,因而便試了試,中途遇到些問題,查找資料後特來總結一下。web
熟悉HTML5的人應該都知道,placeholder這個屬性是HTML5中新增的屬性,該屬性的做用是規定可描述輸入字段預期值的簡短的提示信息,該提示會在用戶輸入以前顯示在輸入字段中,會在用戶輸入字段後消失,有些瀏覽器則是得到焦點後該提示便消失(如Safari、IE)瀏覽器
適用範圍:placeholder 屬性適用於下面的 input 類型:text、search、url、tel、email 和 password。url
由於是HTML5中新增的屬性,因此會存在兼容性問題。下面說說瀏覽器的支持狀況:spa
IE10+、Firefox、Opera、Chrome 和 Safari 均支持 placeholder 屬性。IE9及如下版本不支持input的placeholder屬性。code
placeholder的用法,舉例:blog
<input type="text" placeholder="請輸入您要搜索的內容!"> input
結果:it
該提示文字會有本身默認的顏色,然而有時候,咱們並不但願用該默認顏色,而是想自定義顏色。那麼該怎麼處理呢?不廢話,上代碼。 class
<style> input::-webkit-input-placeholder{ color:red; } input::-moz-placeholder{ /* Mozilla Firefox 19+ */ color:red; } input:-moz-placeholder{ /* Mozilla Firefox 4 to 18 */ color:red; } input:-ms-input-placeholder{ /* Internet Explorer 10-11 */ color:red; } </style>
針對不一樣瀏覽器或不一樣版本的瀏覽器會有不一樣的寫法,會添加相應的前綴。email
注意:
一、WebKit, Blink, Edge瀏覽器等須要帶上-webkit-前綴,且是雙冒號
二、針對火狐瀏覽器則有兩種寫法,一種是針對低版本的,一種是針對高版本的,兩者都須要帶上-moz-前綴。要點1:火狐低版本的使用冒號(:),而高版本的使用雙冒號(::);要點2:火狐瀏覽器不須要像webkit內核那樣要帶上input。
三、因爲placeholder屬性只在IE10+才支持,所以,針對IE十、IE11的寫法是加上-ms-前綴,使用的是冒號(:),須要帶上input
特別強調:冒號與雙冒號的問題