--- title: ':invalid' slug: 'Web/CSS/:invalid' translation_of: 'Web/CSS/:invalid' --- <p> </p> <p>{{CSSRef}}</p> <p><strong><code>:invalid</code></strong> <a href="https://developer.mozilla.org/en-US/docs/Web/CSS">CSS</a> <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes">伪类</a> 表示任意内容未通过验证的 {{HTMLElement("input")}} 或其他 {{HTMLElement("form")}} 元素 .</p> <pre><code>/* 可选定任意无效的<input> */ input:invalid { background-color: pink; }</code></pre> <p>这个伪类对于突出显示用户的字段错误非常有用。</p> <h2 id="Syntax">Syntax</h2> <pre>:invalid </pre> <h2 id="Example">Example</h2> <p>以下示例是一个简单的表单,当值有效时,元素颜色为绿色,无效时为红色。</p> <h3 id="HTML">HTML</h3> <pre class="brush: html"><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></pre> <h3 id="CSS">CSS</h3> <pre class="brush: css">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; }</pre> <h3 id="Result">Result</h3> <p>{{EmbedLiveSample('Example', 600, 120)}}</p> <h2 id="注意">注意</h2> <h3 id="单选钮(Radio_buttons)">单选钮(Radio buttons)</h3> <p>若一组单选钮被设定为必须选定一个,在该组中没有按钮被选中的情况,:invalid伪类被应用到该组中的所有按钮。(单选钮组按照name属性共享相同值。)</p> <h3 id="Gecko_默认">Gecko 默认</h3> <p>默认情况下,Gecko不应用:invalid伪类设置的样式。但是,Gecko可以使用{{cssxref(":-moz-ui-invalid")}}伪类的样式(使用{{Cssxref("box-shadow")}} 属性设置红色发光边框)来达到类似的效果,它可以被应用在:invalid伪类的子集中。</p> <p>你可以使用以下CSS禁用红色发光边框,或完全重写它以改变无效输入域的外观:</p> <pre><code>:invalid { box-shadow: none; } :-moz-submit-invalid { box-shadow: none; } :-moz-ui-invalid { box-shadow: none; }</code></pre> <h2 id="规范">规范</h2> <table> <thead> <tr> <th scope="col">规范</th> <th scope="col">状态</th> <th scope="col">备注</th> </tr> </thead> <tbody> <tr> <td>{{SpecName('HTML WHATWG', '#selector-invalid', ':invalid')}}</td> <td>{{Spec2('HTML WHATWG')}}</td> <td>No change.</td> </tr> <tr> <td>{{SpecName('HTML5 W3C', '#selector-invalid', ':invalid')}}</td> <td>{{Spec2('HTML5 W3C')}}</td> <td>Defines the semantics of HTML and constraint validation.</td> </tr> <tr> <td>{{SpecName('CSS4 Selectors', '#validity-pseudos', ':invalid')}}</td> <td>{{Spec2('CSS4 Selectors')}}</td> <td>Initial definition.</td> </tr> </tbody> </table> <h2 id="浏览器兼容性">浏览器兼容性</h2> <p>The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> <p>{{Compat("css.selectors.invalid")}}</p> <h2 id="参见">参见</h2> <ul> <li>Other validation-related pseudo-classes: {{ cssxref(":required") }}, {{ cssxref(":optional") }}, {{ cssxref(":valid") }}</li> <li>Related Mozilla pseudo-classes: {{cssxref(":-moz-ui-invalid")}}, {{cssxref(":-moz-submit-invalid")}}</li> <li><a href="https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/Form_validation">Form data validation</a></li> </ul>