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;
                        }

                    }

官网链接:点击跳转

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

相关推荐
前端大卫27 分钟前
为什么 React 中的 key 不能用索引?
前端
你的人类朋友29 分钟前
【Node】手动归还主线程控制权:解决 Node.js 阻塞的一个思路
前端·后端·node.js
小李小李不讲道理2 小时前
「Ant Design 组件库探索」五:Tabs组件
前端·react.js·ant design
毕设十刻2 小时前
基于Vue的学分预警系统98k51(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
mapbar_front3 小时前
在职场生存中如何做个不好惹的人
前端
牧杉-惊蛰3 小时前
纯flex布局来写瀑布流
前端·javascript·css
一袋米扛几楼985 小时前
【软件安全】什么是XSS(Cross-Site Scripting,跨站脚本)?
前端·安全·xss
向上的车轮5 小时前
Actix Web适合什么类型的Web应用?可以部署 Java 或 .NET 的应用程序?
java·前端·rust·.net
XiaoYu20025 小时前
第1章 核心竞争力和职业规划
前端·面试·程序员
excel5 小时前
🧩 深入浅出讲解:analyzeScriptBindings —— Vue 如何分析 <script> 里的变量绑定
前端