可通过::placeholder伪元素修改输入框占位文字样式,需添加浏览器前缀确保兼容,其仅在空且未聚焦时显示,支持color、font-size等文本属性,不支持盒模型属性。
可以通过 ::placeholder 伪元素来修改输入框( 或 )中占位文字(placeholder)的样式,比如颜色、字体大小、透明度等。
最常用的是改变占位文字颜色,避免与背景色冲突或提升可读性:
input::placeholder {
color: #999;
font-size: 14px;
font-style: italic;
}由于历史原因,各浏览器前缀略有差异,建议加上主流前缀确保兼容性:
input::placeholder {
color: #
666;
}
input::-webkit-input-placeholder { /* Chrome/Safari/Opera */
color: #666;
}
input::-moz-placeholder { /* Firefox 19+ */
color: #666;
opacity: 1; /* Firefox 默认会降低透明度,需重置 */
}
input:-ms-input-placeholder { /* IE 10-11 */
color: #666;
}
input::-ms-input-placeholder { /* Edge */
color: #666;
}占位文字只在输入框为空且未获得焦点时显示;一旦用户开始输入或输入框获得焦点,它就会隐藏。因此不能用 :focus::placeholder 控制聚焦时的样式——它不会生效。如需聚焦时隐藏 placeholder,可用 JS 清空或用 CSS 隐藏:
input:focus::placeholder { color: transparent; }
::placeholder 支持的样式较基础,常见可用属性包括:
background、padding、border 等盒模型属性