在HTML表单开发中,经常需要给输入框添加提示信息,引导用户正确输入内容,这时候就可以使用placeholder属性来实现,它不需要额外依赖JavaScript代码,是HTML5原生支持的功能,使用起来非常便捷。

placeholder属性的基本语法
placeholder是<input>标签和<textarea>标签的原生属性,直接写在对应的标签内部即可,语法格式如下:
<!-- 普通文本输入框添加占位符 --> <input type="text" placeholder="请输入用户名"> <!-- 密码输入框添加占位符 --> <input type="password" placeholder="请输入密码"> <!-- 多行文本输入框添加占位符 --> <textarea placeholder="请输入个人简介"></textarea>
这里的placeholder属性值就是输入框默认显示的提示文字,当输入框没有内容时,会显示这段文字,用户点击输入框开始输入内容后,提示文字会自动消失,如果把输入的内容全部删除,提示文字又会重新显示。
适用的输入框类型
placeholder属性并不是所有<input>类型都支持,以下是常见的支持该属性的输入类型:
- text:普通文本输入框
- password:密码输入框
- email:邮箱输入框
- search:搜索输入框
- url:网址输入框
- tel:电话号码输入框
- number:数字输入框
像<input type="hidden">这种隐藏输入框,以及<input type="checkbox">、<input type="radio">这类选择型输入框,是不支持placeholder属性的,给它们添加这个属性也不会生效。
修改placeholder的默认样式
不同浏览器下placeholder的默认样式可能略有区别,大部分浏览器默认是浅灰色文字,我们可以通过伪类选择器来修改它的样式,代码如下:
/* 修改所有输入框placeholder的样式 */
input::placeholder, textarea::placeholder {
color: #999; /* 文字颜色 */
font-size: 14px; /* 文字大小 */
opacity: 1; /* 兼容性设置,部分浏览器默认有透明度 */
}
/* 单独修改某个输入框的placeholder样式 */
.username-input::placeholder {
color: #66b1ff;
}需要注意,不同浏览器可能需要加前缀,-webkit- 用于Chrome、Safari等浏览器,-moz- 用于Firefox浏览器,在实际开发中可以按需添加:
/* 兼容不同浏览器的写法 */
input::-webkit-input-placeholder { /* Chrome/Safari */
color: #999;
}
input::-moz-placeholder { /* Firefox */
color: #999;
opacity: 1;
}
input:-ms-input-placeholder { /* IE */
color: #999;
}使用注意事项
在使用placeholder属性时,有几个点需要特别注意:
不要代替label标签
placeholder只是提示信息,不能替代<label>标签的作用,因为当用户开始输入后,提示文字会消失,用户可能忘记这个输入框原本的用途。正确的做法是同时保留<label>标签和placeholder属性,label用来说明输入框的功能,placeholder用来给出输入示例或提示。
兼容性提示
placeholder是HTML5新增的属性,IE10及以上版本才支持,如果需要兼容更低版本的IE浏览器,可以通过JavaScript来模拟实现placeholder的效果,以下是简单的实现示例:
// 兼容低版本IE的placeholder模拟
function initPlaceholder(input, text) {
if (!('placeholder' in document.createElement('input'))) {
input.value = text;
input.style.color = '#999';
input.onfocus = function() {
if (this.value === text) {
this.value = '';
this.style.color = '#333';
}
};
input.onblur = function() {
if (this.value === '') {
this.value = text;
this.style.color = '#999';
}
};
}
}
// 使用方式
var input = document.getElementById('username');
initPlaceholder(input, '请输入用户名');文字长度限制
placeholder的提示文字不建议太长,一般控制在10-15个汉字以内,避免在某些小尺寸输入框中显示不全,影响用户的阅读体验。
HTML输入框placeholderinput_placeholder表单输入框修改时间:2026-06-04 03:55:53