当前位置:首页 > 文章列表 > 文章 > 前端 > CSS中:checked和:disabled怎么用

CSS中:checked和:disabled怎么用

2025-11-18 10:43:18 0浏览 收藏

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《CSS中:checked和:disabled伪类用于控制表单元素的状态样式。它们分别用于选中状态和禁用状态的元素,可以配合其他选择器使用,实现更复杂的样式效果。:checked 伪类 :checked 用于选中被用户选中的表单元素,如单选按钮(<input type="radio">)、复选框(<input type="checkbox">)等。可以通过设置样式来改变这些元素在选中时的外观。示例:input[type="checkbox"]:checked { background-color: #00ff00; border: 2px solid #000; }:disabled 伪类 :disabled 用于选中被禁用的表单元素,如 <input disabled> 或

:checked和:disabled伪类可直观展示表单选中与禁用状态,提升可读性与体验;前者用于radio、checkbox等选中样式,后者统一禁用元素视觉效果,结合label与兄弟选择器能实现无需JS的交互反馈,降低开发维护成本。

CSS伪类选择器:checked和:disabled如何应用_表单状态样式

在表单设计中,使用CSS伪类选择器 :checked:disabled 可以直观地反映用户交互状态,提升界面可读性和用户体验。这两个伪类分别针对被选中和被禁用的表单元素,无需JavaScript即可实现样式响应。

:checked 伪类 — 控制选中状态样式

:checked 适用于单选按钮(radio)、复选框(checkbox)以及下拉菜单中的选中选项(option)。当用户选中某个控件时,该伪类会自动激活。

常见应用场景:
  • 改变复选框或单选按钮的视觉样式(如背景、边框)
  • 配合标签(label)实现自定义控件外观
  • 控制关联内容的显示与隐藏(通过相邻兄弟选择器)

示例:自定义复选框样式

input[type="checkbox"]:checked + label {
  background-color: #4CAF50;
  color: white;
  padding: 4px 8px;
  border-radius: 4px;
}

此代码会让用户选中复选框后,其后的 label 背景变绿,文字变白,增强反馈感。

:disabled 伪类 — 样式化禁用状态

:disabled 用于匹配所有被设置为 disabled 属性的表单元素,如 input、textarea、select、button 等。这类元素通常不可交互。

典型用途包括:
  • 降低透明度,表示“不可用”
  • 更改背景色或文字颜色,使其与可用状态区分
  • 移除边框阴影等交互效果

示例:统一禁用输入框样式

input:disabled,
textarea:disabled {
  opacity: 0.6;
  background-color: #f0f0f0;
  color: #999;
  cursor: not-allowed;
}

这样能让用户一眼识别出哪些字段当前无法操作。

结合使用提升交互体验

在实际项目中,常将 :checked:disabled 结合 JavaScript 或结构设计,实现更复杂的交互逻辑。

例如:
  • 选中某个选项后,禁用其他相关控件
  • 根据复选框是否选中,切换按钮的启用/禁用状态,并同步样式

即使不写JS,也可利用 :checked 配合 ~ 选择器控制页面区块显隐,实现纯CSS的开关面板。

基本上就这些,合理使用这两个伪类能有效减少脚本依赖,让表单状态更清晰、维护更简单。

到这里,我们也就讲完了《CSS中:checked和:disabled怎么用》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

火车头采集器多账号切换设置教程火车头采集器多账号切换设置教程
上一篇
火车头采集器多账号切换设置教程
高可用前端错误监控系统设计思路
下一篇
高可用前端错误监控系统设计思路
查看更多
最新文章
// 获取聊天">
文章 · 前端   |  25分钟前  |  
// 获取聊天">让溢出内容的 div 滚动条默认定位到最底部,可以通过 JavaScript 动态设置 scrollTop 属性实现。以下是一个简单的实现方法:✅ 实现方式
// 获取聊天
257浏览 收藏
  • LB状态对象拆分方法详解
    文章 · 前端   |  25分钟前  |  
    LB状态对象拆分方法详解
    489浏览 收藏
  • 可选链操作符的作用是什么?
    文章 · 前端   |  29分钟前  |  
    可选链操作符的作用是什么?
    242浏览 收藏
  • CSS实现元素左右拉伸填满
    文章 · 前端   |  32分钟前  |  
    CSS实现元素左右拉伸填满
    293浏览 收藏
  • ToPrimitive 转换路径详解:原始类型转换规则解析
    文章 · 前端   |  35分钟前  |  
    ToPrimitive 转换路径详解:原始类型转换规则解析
    443浏览 收藏
  • FormData 与 Submit 事件实现无刷新表单提交
    文章 · 前端   |  39分钟前  |  
    FormData 与 Submit 事件实现无刷新表单提交
    295浏览 收藏
  • JavaScript类型转换规则详解
    文章 · 前端   |  45分钟前  |  
    JavaScript类型转换规则详解
    108浏览 收藏
  • IntersectionObserver 实现高性能懒加载列表
    文章 · 前端   |  46分钟前  |  
    IntersectionObserver 实现高性能懒加载列表
    138浏览 收藏
  • 优化BEM选择器权重,避免ID干扰技巧
    文章 · 前端   |  49分钟前  |  
    优化BEM选择器权重,避免ID干扰技巧
    473浏览 收藏
  • CSS不同状态标签展示内容不同怎么办?伪类与伪元素结合使用解析
    文章 · 前端   |  52分钟前  |  
    CSS不同状态标签展示内容不同怎么办?伪类与伪元素结合使用解析
    414浏览 收藏
  • 资料下载
    查看更多
    课程推荐
    查看更多
    AI推荐
    查看更多
    相关文章
    微信登录更方便
    • 密码登录
    • 注册账号
    登录即同意 用户协议隐私政策
    返回登录
    • 重置密码