:required 和 :optional 伪类通过样式区分必填与选填字段,input:required 设置红色边框突出必填项,input:optional 降低透明度弱化可选字段,结合使用可提升表单可读性和用户体验。
在表单设计中,CSS 的 :optional 和 :required 伪类用于区分用户是否必须填写某个字段。它们帮助开发者通过样式直观地表达字段的必填状态,提升用户体验。
匹配所有设置了 required 属性的表单元素,表示该字段为必填项。
input、select、textarea 等表单控件input:required {
border-left: 3px solid #e00;
}
匹配没有 required 属性的表单字段,即选填项。
备注等字段特别有用input:optional {
opacity: 0.7;
background-color: #f9f9f9;
}
结合使用这两个伪类,可以让表单结构更清晰。
::before 或 ::after 生成内容(如“*”)标注 required 字段