--- title: ':invalid' slug: 'Web/CSS/:invalid' translation_of: 'Web/CSS/:invalid' ---
{{CSSRef}}
:invalid
CSS 伪类 表示任意内容未通过验证的 {{HTMLElement("input")}} 或其他 {{HTMLElement("form")}} 元素 .
/* 可选定任意无效的<input> */
input:invalid {
background-color: pink;
}
这个伪类对于突出显示用户的字段错误非常有用。
:invalid
以下示例是一个简单的表单,当值有效时,元素颜色为绿色,无效时为红色。
<form> <label for="url_input">Enter a URL:</label> <input type="url" id="url_input" /> <br /> <br /> <label for="email_input">Enter an email address:</label> <input type="email" id="email_input" required/> </form>
input:invalid { background-color: #ffdddd; } form:invalid { border: 5px solid #ffdddd; } input:valid { background-color: #ddffdd; } form:valid { border: 5px solid #ddffdd; } input:required { border-color: #800000; border-width: 3px; } input:required:invalid { border-color: #C00000; }
{{EmbedLiveSample('Example', 600, 120)}}
若一组单选钮被设定为必须选定一个,在该组中没有按钮被选中的情况,:invalid伪类被应用到该组中的所有按钮。(单选钮组按照name属性共享相同值。)
默认情况下,Gecko不应用:invalid伪类设置的样式。但是,Gecko可以使用{{cssxref(":-moz-ui-invalid")}}伪类的样式(使用{{Cssxref("box-shadow")}} 属性设置红色发光边框)来达到类似的效果,它可以被应用在:invalid伪类的子集中。
你可以使用以下CSS禁用红色发光边框,或完全重写它以改变无效输入域的外观:
:invalid {
box-shadow: none;
}
:-moz-submit-invalid {
box-shadow: none;
}
:-moz-ui-invalid {
box-shadow: none;
}
规范 | 状态 | 备注 |
---|---|---|
{{SpecName('HTML WHATWG', '#selector-invalid', ':invalid')}} | {{Spec2('HTML WHATWG')}} | No change. |
{{SpecName('HTML5 W3C', '#selector-invalid', ':invalid')}} | {{Spec2('HTML5 W3C')}} | Defines the semantics of HTML and constraint validation. |
{{SpecName('CSS4 Selectors', '#validity-pseudos', ':invalid')}} | {{Spec2('CSS4 Selectors')}} | Initial definition. |
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
{{Compat("css.selectors.invalid")}}