- A+

在CSS中,:disabled 和 :enabled 是伪类选择器,用于根据表单元素的启用或禁用状态应用不同的样式。它们能帮助开发者直观地区分用户可操作与不可操作的输入控件,提升界面可用性。
理解 :enabled 与 :disabled 伪类
:enabled 匹配当前可以被用户操作的表单元素,比如可点击的按钮、可输入的文本框等。
:disabled 则匹配设置了 disabled 属性的元素,这些元素通常无法交互,并呈现为灰暗样式。
常见受支持的元素包括:input、textarea、button、select 等。
基本语法与使用方式
直接在CSS中结合标签或类名使用这两个伪类:
- input:enabled { background-color: #fff; border: 1px solid #ccc; }
- input:disabled { background-color: #f5f5f5; color: #999; }
- button:disabled { opacity: 0.6; cursor: not-allowed; }
这样可以让用户一眼看出哪些输入项是可编辑的,哪些已被锁定。
立即学习“前端免费学习笔记(深入)”;
实际应用场景示例
在表单填写过程中,某些按钮(如“提交”)可能需要在必填项未完成时保持禁用状态。通过CSS高亮这种变化,能有效引导用户操作。

图片处理必备效率神器!为你的图片提供神奇魔法

102
查看详情

例如:
button:enabled { background-color: #007bff; color: white; }
button:disabled { background-color: #ccc; color: #666; }
当JavaScript动态切换按钮的 disabled 属性时,样式会自动更新,无需额外操作。
与JavaScript配合实现动态控制
虽然样式由CSS定义,但元素的启用状态通常由JavaScript控制。例如:
const input = document.getElementById('myInput');
const btn = document.getElementById('submitBtn');
input.addEventListener('input', function() {
btn.disabled = !this.value.trim();
});
此时,只要输入框为空,按钮就处于 :disabled 状态,CSS会自动应用对应样式。
基本上就这些。合理使用 :enabled 和 :disabled 能让表单更清晰、更易用,关键是结合语义化属性与简洁样式来增强用户体验。




