:enabled

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

:enabled CSS 伪类表示任何已启用的元素。如果一个元素可以被激活(选中、点击、输入等)或接受焦点,那么它就是已启用的。该元素还有一个禁用状态,在这种状态下它不能被激活或接受焦点。

试一试

label {
  display: block;
  margin-top: 1em;
}

*:enabled {
  background-color: gold;
}
<form>
  <label for="name">Name:</label>
  <input id="name" name="name" type="text" />

  <label for="emp">Employed:</label>
  <select id="emp" name="emp" disabled>
    <option>No</option>
    <option>Yes</option>
  </select>

  <label for="empDate">Employment Date:</label>
  <input id="empDate" name="empDate" type="date" disabled />

  <label for="resume">Resume:</label>
  <input id="resume" name="resume" type="file" />
</form>

语法

css
:enabled {
  /* ... */
}

示例

下面的例子将文本和按钮 <input> 在启用时设为绿色,在禁用时设为灰色。这有助于用户理解哪些元素可以交互。

HTML

html
<form action="url_of_form">
  <label for="FirstField">First field (enabled):</label>
  <input type="text" id="FirstField" value="Lorem" /><br />

  <label for="SecondField">Second field (disabled):</label>
  <input type="text" id="SecondField" value="Ipsum" disabled /><br />

  <input type="button" value="Submit" />
</form>

CSS

css
input:enabled {
  color: #22bb22;
}

input:disabled {
  color: #aaaaaa;
}

结果

规范

规范
HTML
# selector-enabled
选择器 Level 4
# enabled-pseudo

浏览器兼容性

另见