<form>
<fieldset>
<label for="form-name">姓名</label><br />
<input type="text" name="name" id="form-name" required />
</fieldset>
<fieldset>
<label for="form-email">电子邮件</label><br />
<input type="email" name="email" id="form-email" required />
</fieldset>
<fieldset>
<label for="form-message">信息</label><br />
<textarea name="message" id="form-message" required></textarea>
</fieldset>
<button type="submit" name="send">提交</button>
</form>
css
/* 在无效的字段集后隐藏该字段集: */
fieldset:invalid ~ fieldset {
display: none;
}
/* 在表单无效时,将按钮变暗并禁用它: */
form:invalid button {
opacity: 0.3;
pointer-events: none;
}
input,
textarea {
box-sizing: border-box;
width: 100%;
font-family: monospace;
padding: 0.25em 0.5em;
}
button {
width: 100%;
border: thin solid darkgrey;
font-size: 1.25em;
background-color: darkgrey;
color: white;
}
知识点::invalid
是 CSS 伪类选择器,用来选择任何未通过验证的 <form>、<fieldset>、<input> 或其他表单元素。