您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# CSS样式中focus有什么用
## 一、什么是:focus伪类
`:focus`是CSS中的一个**伪类选择器**,用于匹配当前获得焦点的表单元素或可交互元素。当用户通过鼠标点击、键盘Tab键导航等方式激活某个元素时,该元素即处于`focus`状态。
```css
input:focus {
border-color: blue;
box-shadow: 0 0 5px rgba(81, 203, 238, 1);
}
符合WCAG 2.1标准,确保: - 焦点可见性(2.4.7) - 键盘可操作性(2.1.1)
/* 输入框聚焦样式 */
input:focus, textarea:focus {
outline: 2px solid #4CAF50;
background-color: #f8f8f8;
}
/* 按钮聚焦样式 */
button:focus {
transform: scale(1.05);
box-shadow: 0 0 0 3px rgba(0,123,255,.25);
}
/* 浮动标签效果 */
.input-group:focus-within label {
transform: translateY(-120%) scale(0.9);
color: #0066cc;
}
/* 平滑过渡动画 */
input:focus {
transition: all 0.3s ease-out;
}
错误做法:
/* 禁用默认焦点轮廓(违反无障碍原则) */
:focus {
outline: none;
}
正确替代方案:
:focus {
outline: 2px solid currentColor;
outline-offset: 2px;
}
/* 不同状态组合 */
button:hover:focus {
background-color: darken(primary-color, 15%);
}
/* 验证状态 */
input:focus:invalid {
border-color: #ff4444;
}
:focus-visible
:区分鼠标和键盘焦点:focus-within
:父容器焦点状态/* 仅对键盘操作显示焦点样式 */
button:focus-visible {
outline: 3px dashed #000;
}
伪类 | Chrome | Firefox | Safari | Edge |
---|---|---|---|---|
:focus | 1.0+ | 1.0+ | 1.0+ | 12+ |
:focus-visible | 86+ | 85+ | 15.4+ | 86+ |
:focus-within | 60+ | 52+ | 10.1+ | 79+ |
:focus
伪类是构建可访问、用户友好界面的关键工具。合理使用可以:
1. 显著提升表单操作体验
2. 满足无障碍设计要求
3. 创建精致的交互效果
4. 适配多种输入方式(鼠标/键盘/触摸)
开发时应始终遵循”焦点可见”原则,结合现代CSS选择器创建更智能的焦点管理方案。 “`
注:本文约750字,采用Markdown格式编写,包含代码示例、兼容性表格等技术内容,符合技术文档规范。可根据需要调整具体示例或补充更多使用场景。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。