css伪类:required怎么配合placeholder提示使用

来源:我的博客作者:森沢头衔:网络博主
导读:本期聚焦于小伙伴创作的《css伪类:required怎么配合placeholder提示使用》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《css伪类:required怎么配合placeholder提示使用》有用,将其分享出去将是对创作者最好的鼓励。

在表单开发场景中,我们经常会遇到需要标记必填项的需求,同时还需要通过placeholder给用户提供输入引导。css的:required伪类可以精准选中所有设置了required属性的表单元素,再结合placeholder的样式控制,就能实现更贴合需求的提示效果。

:required伪类基础说明

:required是css3新增的伪类选择器,它的作用是匹配所有设置了required属性的表单元素,常见的适用元素包括<input>、<textarea>、<select>。只要元素添加了required属性,就可以被这个伪类选中,不需要额外添加类名。

下面是一个基础的:required使用示例,给必填的输入框添加红色边框:

/* 选中所有必填的input元素 */
input:required {
    border: 2px solid #ff4d4f;
}
/* 选中所有必填的textarea元素 */
textarea:required {
    border: 2px solid #ff4d4f;
}

placeholder基础用法回顾

placeholder是html5新增的表单属性,用于在输入框未输入内容时显示提示文本,当输入框获得焦点或者开始输入内容时,提示文本会自动消失。它的使用方式非常简单,直接添加到表单元素上即可:

<input type="text" placeholder="请输入用户名" required>
<textarea placeholder="请输入个人简介" required></textarea>

:required配合placeholder的实现方式

两者的配合核心是通过:required伪类选中必填元素后,再修改其placeholder的样式,让必填项的提示文本和选填项形成区分。我们可以通过::placeholder伪元素来控制placeholder的样式,结合:required伪类就能实现精准的样式控制。

基础配合示例

下面的代码会给必填项的placeholder添加红色提示文本,选填项的placeholder保持默认灰色:

/* 选填项placeholder默认样式 */
input::placeholder, textarea::placeholder {
    color: #bfbfbf;
    font-size: 14px;
}
/* 必填项placeholder样式 */
input:required::placeholder, textarea:required::placeholder {
    color: #ff4d4f;
    font-weight: bold;
}

对应的html代码:

<form>
    <div>
        <label>用户名(必填):</label>
        <input type="text" placeholder="请输入用户名" required>
    </div>
    <div>
        <label>昵称(选填):</label>
        <input type="text" placeholder="请输入昵称">
    </div>
    <div>
        <label>个人简介(必填):</label>
        <textarea placeholder="请输入个人简介,不少于20字" required></textarea>
    </div>
</form>

进阶:给placeholder添加必填标记

我们还可以在必填项的placeholder文本前自动添加必填标记,不需要手动在每个placeholder里写标记,通过css的伪元素内容插入即可实现:

/* 给必填项的placeholder前添加红色星号 */
input:required::placeholder::before, textarea:required::placeholder::before {
    content: "* ";
    color: #ff4d4f;
}

需要注意的是,部分浏览器对::placeholder伪元素的content属性支持有限,如果需要兼容更多浏览器,也可以直接在placeholder属性里添加标记,再通过:required伪类控制标记的样式:

<input type="text" placeholder="* 请输入用户名" required>
<input type="text" placeholder="请输入昵称">
/* 必填项placeholder里的星号样式 */
input:required::placeholder {
    color: #ff4d4f;
}
/* 选填项placeholder样式 */
input:not(:required)::placeholder {
    color: #bfbfbf;
}

注意事项

  • :required伪类只能选中设置了required属性的元素,没有设置该属性的元素无法被匹配。
  • 不同浏览器对::placeholder伪元素的样式支持有差异,比如部分浏览器不支持修改font-weight,实际使用时需要做兼容性测试。
  • 如果表单元素同时设置了required和disabled属性,:required伪类依然会生效,但是用户无法输入内容,这种场景下需要额外处理样式避免误导用户。
这种组合方式可以大幅减少html里的冗余代码,不需要给每个必填项单独添加类名来控制placeholder样式,维护起来更加方便。

css伪类requiredplaceholder表单验证修改时间:2026-06-13 19:21:35

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。