有时会遇到这样的需求,输入框的默认提示文字与用户输入的文字不同。
<input className="city" placeholder="城市"/>
input {color:#ff7800}
如果只是设置input的颜色的话是达不到想要的效果的,css3有关于设置placeholder的属性-input-placeholder
- Webkit内核的浏览器和Microsoft Edge使用的是伪元素::-webkit-input-placeholder
- 火狐19+使用的是伪元素::-moz-placeholder
- 火狐4-18使用伪类:-moz-placeholder
- Microsoft 10和11使用伪类:-ms-input-placeholder
- 伪类和伪元素可以参考这篇文章 css伪类与伪元素
*::-webkit-input-placeholder {
color: red;
}
*:-moz-placeholder {
/* FF 4-18 */
color: red;
}
*::-moz-placeholder {
/* FF 19+ */
color: red;
}
*:-ms-input-placeholder {
/* IE 10+ */
color: red;
}
*也可以换为input,以下demo的实现为
<input className="city" placeholder="城市"/>
input{color:#333;}
input::-webkit-input-placeholder {
color: ff7800;
}
input:-moz-placeholder {
/* FF 4-18 */
color: ff7800;
}
input::-moz-placeholder {
/* FF 19+ */
color: ff7800;
}
input:-ms-input-placeholder {
/* IE 10+ */
color: ff7800;
}