css 点击后改变样式

背景:

期望实现效果:鼠标点击之后,保持选中样式。

实现思路:在css样式中,:active 是一种伪类,用于表示用户当前正在与被选定的元素进行交互。当用户点击或按住鼠标时,元素将被激活,此时 :active 伪类将生效。一旦鼠标按键释放或触摸结束,:active 状态将消失

:focus伪类的样式在元素获得焦点后会保持显示,直到失去焦点。

最终思路:

通过 CSS 来保持 :active 样式。这可以通过使用 :focus + :active 选择器结合 tabindex 属性来实现。

效果展示:

核心代码:

tabindex绑定一个值,可以是字符串,也可以是数字类型。主要是做区分不同的点击元素

css 复制代码
//css                    
                    .menu-item {
                        margin: 0 20px;

                        .text {
                            color: #FFFFFF;
                        }
                    }
                    .menu-item:active {
                        background-color: pink;

                        .text {
                            color: #FFEEA8 !important;
                        }
                    }

                    .menu-item:focus {
                        background-color: rgb(192, 255, 197);

                        .text {
                            color: #FFEEA8 !important;
                        }

                    }

发现只要这串代码也能实现效果:

css 复制代码
        .menu-item:focus {
                        border: none;
                        border-bottom: 2px solid;
                        color: #FFEEA8;
                        border-image: 
            linear-gradient(90deg, rgba(19, 69, 117, 0), 
            rgba(255, 238, 168, 1), rgba(19, 69, 117, 0)) 2 2;

                        .text {
                            color: #FFEEA8 !important;
                        }

                    }

官网链接:点击跳转

有兴趣的欢迎补充、评论。。。

相关推荐
程序员黑豆8 分钟前
鸿蒙应用开发 @Extend 装饰器使用教程
前端·harmonyos
杨先生哦28 分钟前
【2026热端攻防系列 10/12】前端凭据安全深度攻防:Cookie/Storage劫持、会话固定、凭据泄露与浏览器最新加固方案
前端·笔记·安全·web安全
莫石39 分钟前
坦克打无人机模拟(three-tile 地形)
前端
hunterandroid43 分钟前
[鸿蒙从零到一] HarmonyOS 任务调度与并发模型实战:taskpool、Worker 与可取消任务
前端
颜进强1 小时前
前端看后端 14:什么是 CORS?
前端·后端
sugar__salt1 小时前
Vue3 自定义指令与插槽(Slot)技术详解
前端·javascript·vue.js·前端框架·vue
Csvn1 小时前
🎯 Flex 布局的 `min-width: auto` 陷阱:为什么内容总是撑破容器?
前端
果然_2 小时前
纯前端图片压缩怎么做?不用上传服务器,浏览器里跑完所有逻辑
前端
Csvn2 小时前
🖼️ OffscreenCanvas:把 Canvas 绘制搬出主线程,动画卡顿的终极解药
前端
用户69371750013842 小时前
了解一下 Agent Harness
android·前端·后端