表单伪类

Frontend SELF ZH
第 29 级, 课程 3
可用

4.1 伪类 :checked

CSS中的表单伪类为根据状态对表单元素进行样式化提供了可能。这些伪类可以创建交互式和易访问的表单,提升用户界面和体验。 我们来仔细看看伪类 :checked, :disabled, :enabled 和 :invalid。

伪类 :checked 应用于处于“选中”状态的表单元素。这适用于复选框 (<input type="checkbox">), 单选按钮 (<input type="radio">) 和选项 (<option>)。

语法:

    
      选择器:checked {
        属性: 值;
      }
    
  

使用示例

在这个例子中,选中的复选框、单选按钮和选项在“选中”状态下会获得相应的背景颜色:

CSS
    
      /* 选中复选框的样式 */

      input[type="checkbox"]:checked {
        background-color: #3498db;
      }

      /* 选中单选按钮的样式 */

      input[type="radio"]:checked {
        background-color: #2ecc71;
      }

      /* 选中选项的样式 */

      option:checked {
        background-color: #e74c3c;
      }
    
  

4.2 伪类 :disabled

伪类 :disabled 应用于处于禁用状态的表单元素。这对于对暂时不可交互的元素进行样式化很有用。

语法:

    
      选择器:disabled {
        属性: 值;
      }
    
  

使用示例

在这个例子中,禁用的输入字段和按钮获得相应的背景颜色、边框和文字颜色, 并将光标更改为“禁止”:

CSS
    
      /* 禁用输入字段的样式 */

      input:disabled {
        background-color: #f0f0f0;
        border-color: #ccc;
        color: #888;
      }

      /* 禁用按钮的样式 */

      button:disabled {
        background-color: #d0d0d0;
        color: #777;
        cursor: not-allowed;
      }
    
  

4.3 伪类 :enabled

伪类 :enabled 应用于处于启用状态的表单元素。 这允许对可交互的元素进行样式化。

语法:

    
      选择器:enabled {
        属性: 值;
      }
    
  

使用示例

在这个例子中,启用的输入字段和按钮获得相应的背景颜色、边框和文字颜色,并将光标更改为“指示器”:

CSS
    
      /* 启用输入字段的样式 */

      input:enabled {
        background-color: #fff;
        border-color: #3498db;
      }

      /* 启用按钮的样式 */

      button:enabled {
        background-color: #2ecc71;
        color: white;
        cursor: pointer;
      }
    
  

4.4 伪类 :invalid

伪类 :invalid 应用于未通过验证的表单元素。这允许对包含不正确数据的输入字段进行样式化。

语法:

    
      选择器:invalid {
        属性: 值;
      }
    
  

使用示例

在这个例子中,不正确的输入字段和文本域获得相应的边框和背景颜色,以视觉上显示数据未通过验证:

CSS
    
      /* 不正确输入字段的样式 */

      input:invalid {
        border-color: #e74c3c;
        background-color: #f9e0e0;
      }

      /* 不正确文本域的样式 */

      textarea:invalid {
        border-color: #e74c3c;
        background-color: #f9e0e0;
      }
    
  

4.5 完整实现示例

CSS
    
      /* 选中复选框的样式 */

      input[type="checkbox"]:checked {
        background-color: #3498db;
      }

      /* 选中单选按钮的样式 */

      input[type="radio"]:checked {
        background-color: #2ecc71;
      }

      /* 禁用输入字段的样式 */

      input:disabled {
        background-color: #f0f0f0;
        border-color: #ccc;
        color: #888;
      }

      /* 禁用按钮的样式 */

      button:disabled {
        background-color: #d0d0d0;
        color: #777;
        cursor: not-allowed;
      }

      /* 启用输入字段的样式 */

      input:enabled {
        background-color: #fff;
        border-color: #3498db;
      }

      /* 启用按钮的样式 */

      button:enabled {
        background-color: #2ecc71;
        color: white;
        cursor: pointer;
      }

      /* 不正确输入字段的样式 */

      input:invalid {
        border-color: #e74c3c;
        background-color: #f9e0e0;
      }

      /* 不正确文本域的样式 */

      textarea:invalid {
        border-color: #e74c3c;
        background-color: #f9e0e0;
      }
    
  
HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>表单伪类示例</title>
          <link rel="stylesheet" href="styles.css">
        </head>
        <body>
          <form>
            <label>
              <input type="checkbox" name="option1"> Option 1
            </label>
            <br>
            <label>
              <input type="radio" name="choice" value="1"> Choice 1
            </label>
            <label>
              <input type="radio" name="choice" value="2"> Choice 2
            </label>
            <br>
            <input type="text" placeholder="Enter your name" required>
            <br>
            <input type="email" placeholder="Enter your email" required>
            <br>
            <button type="submit">Submit</button>
            <button type="button" disabled>Disabled Button</button>
          </form>
        </body>
      </html>
    
  
1
任务
Frontend SELF ZH, 第 29 级, 课程 3
已锁定
禁用元素
禁用元素
1
任务
Frontend SELF ZH, 第 29 级, 课程 3
已锁定
不正确的字段
不正确的字段
1
调查/小测验
伪类第 29 级,课程 3
不可用
伪类
伪类
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION