placeholder 是 HTML 表单控件的原生属性,仅对 input(非 hidden/button/submit)和 textarea 有效,不支持 select 或 div/span 等标签;它仅作展示,不影响 required 校验,不可替代 label 或 value,样式需用 ::placeholder 伪元素控制,且无障碍支持弱,不能代替语义化 label。

placeholder 属性写在 input 或 textarea 里才生效
placeholder 不是独立组件,也不是 JS 方法,它只是 HTML 表单控件的原生属性。写在 placeholder 是纯展示文案,跟表单验证逻辑完全无关。用户没输内容但 placeholder 还在, 它的颜色、字体、透明度等无法通过普通 CSS 类直接设置,必须用标准伪元素选择器,且各浏览器前缀不统一。 屏幕阅读器对 placeholder 的支持很弱:多数只读一次,焦点移入后就不再播报,也无法作为 label 的替代项。 最常被漏掉的是语义缺失——placeholder 看得见,但对依赖语音或键盘导航的用户来说,它基本等于不存在。 或自定义标签上完全没用,浏览器会直接忽略。
(type 不为 hidden、button、submit 等)和
不支持 placeholder;想实现类似效果得用 JS 模拟或加一个带 disabled 的首选项placeholder 到真实 上placeholder 文本不会触发 required 校验
required 依然会报错 —— 这不是 bug,是设计如此。
required 仍会拦截value(input)或 innerHTML(textarea)input 或 blur 事件做状态管理placeholder 样式只能用 ::placeholder 伪元素控制
::placeholder(Chrome 57+、Firefox 51+、Safari 10.1+)::-webkit-input-placeholder、::-moz-placeholder、:-ms-input-placeholder
::placeholder 不能继承父级 font-size,必须显式声明;opacity 默认是 0.5 左右,容易看不清placeholder 在无障碍访问中容易被忽略
或包裹写法,否则视障用户可能根本不知道这个框要填什么aria-label 或 aria-labelledby 补充语义
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











