CSS 伪类 :optional 在选择和设置表单元素样式时很有用,例如 <input>、<select> 或 <textarea>,这些元素对于用户输入不是必需的或强制的,或者您可以说没有设置必需的属性。
可访问性问题:当表单列出一些可选的 <input> 字段时,它应该使用 required 属性清楚地指示必填字段。这对于那些使用辅助技术(例如屏幕阅读器)进行导航的人来说将很有帮助,以了解成功提交表单所需的字段。
除了必填属性之外,强制字段还应该使用一些描述性文字或图标来表示,以便更清楚地传达所需信息。
语法
:optional {
/* ... */
}
CSS :optional 示例
这是 :optional 的示例:
在下面的示例中,:optional 伪类应用于未给定必需属性的输入元素。 3px 宽的蓝色边框 css 样式应用于可选的输入元素。
<html>
<head>
<style>
label {
display: block;
margin: 1px;
padding: 1px;
}
.field {
margin: 1px;
padding: 1px;
}
input:optional {
border-color: blue;
border-width: 3px;
}
label.required::after {
content: "*";
color: red;
}
button {
background-color: green;
color: white;
}
form {
border: 3px solid black;
}
</style>
</head>
<body>
<form>
<div class="field">
<label for="name" class="required">名字:</label>
<input type="name" id="name" required/>
</div>
<div class="field">
<label for="age">年龄: (可选)</label>
<input type="age" id="age" />
</div>
<div class="field">
<label for="feedback">建议: (可选)</label>
<input type="feedback" id="feedback" />
</div>
<div class="field">
<button type="">提交</button>
</div>
</form>
</body>
</html>