:checked伪类用于选中状态的复选框或单选按钮,可实现自定义样式、展开收起内容、选项卡切换等交互效果,结合label和兄弟选择器无需JavaScript即可控制元素显示与隐藏。

在CSS中,:checked 伪类用于匹配处于选中状态的单选按钮(radio)或复选框(checkbox)。这个选择器非常实用,尤其是在实现无JavaScript交互效果时,比如展开/收起内容、切换主题、自定义表单样式等。
:checked 只会作用于 <input type="checkbox"> 和 <input type="radio"> 这两种输入类型。当用户选中某个选项时,该元素就会匹配 :checked 选择器。
示例:高亮选中的复选框
input[type="checkbox"]:checked {
box-shadow: 0 0 5px blue;
}这段代码会在复选框被勾选时添加一个蓝色外发光效果。
立即学习“前端免费学习笔记(深入)”;
由于原生的 input 样式难以完全自定义,通常会隐藏原始控件,使用 label 来显示自定义样式。通过将 label 关联到 input,并利用 :checked + label 或相邻兄弟选择器来控制样式变化。
HTML 示例:
<input type="checkbox" id="toggle"> <label for="toggle">点击我</label>
CSS 示例:改变 label 的背景颜色
#toggle {
display: none; /* 隐藏原始复选框 */
}
#toggle + label {
background-color: #ccc;
padding: 10px 20px;
border-radius: 4px;
cursor: pointer;
}
#toggle:checked + label {
background-color: #4CAF50;
color: white;
}当用户点击 label 时,input 状态切换,CSS 根据 :checked 状态更新 label 的外观。
利用 :checked 和兄弟选择器(~ 或 +),可以控制页面上其他元素的显示状态,例如制作无需 JavaScript 的下拉菜单或开关面板。
示例:点击切换内容显示
<input type="checkbox" id="show-content"> <label for="show-content">显示更多内容</label> <div class="extra-content"> <p>这里是额外的信息内容。</p> </div>
.extra-content {
display: none;
}
#show-content:checked ~ .extra-content {
display: block;
}当复选框被选中时,后面的 .extra-content 区块会显示出来。
对于 radio 按钮,:checked 同样适用。常用于选项卡切换或互斥样式控制。
示例:简单的 CSS 选项卡
<input type="radio" name="tab" id="tab1" checked> <label for="tab1">标签一</label> <input type="radio" name="tab" id="tab2"> <label for="tab2">标签二</label> <div class="panel"> <div class="tab-content" id="content1">这是第一个标签页的内容。</div> <div class="tab-content" id="content2">这是第二个标签页的内容。</div> </div>
.tab-content {
display: none;
}
#tab1:checked ~ .panel #content1,
#tab2:checked ~ .panel #content2 {
display: block;
}通过 radio 的互斥特性,实现简单的选项卡切换功能。
基本上就这些。:checked 配合 label 和兄弟选择器,能完成很多轻量级交互,适合静态页面或需要降低 JS 依赖的场景。关键是结构要合理,确保 HTML 元素顺序支持选择器匹配。
以上就是如何在CSS中使用checked伪类_复选框单选框状态控制的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号