CSS点击改变颜色

<button class="btn">确认</button>

.btn:avtive {
    background: red; //点击后的颜色
 }

### 使用CSS和JavaScript实现点击元素后变颜色并保持 为了实现在点击某个元素之后更其颜色并且使这种变化一直持续到下一次点击操作,可以采用组合使用HTMLCSS以及少量的JavaScript来完成这一功能。具体来说: 通过定义特定的类,在被应用至目标元素时能够触发所需的视觉变更。利用事件监听器捕获用户的交互行为,并动态调整这些类的状态。 #### HTML结构 创建一系列具有不同背景色选项的颜色按钮,以及一个用于展示所选颜色覆盖层的对象。 ```html <div id="product-shape"></div> <button class="color" data-hex="#ff0000">Red</button> <button class="color" data-hex="#00ff00">Green</button> <button class="color" data-hex="#0000ff">Blue</button> ``` #### CSS样式设置 预先设定好各个`.color`按钮的基础外观属性,同时指定当它们获得额外的激活状态(`active`)类时应呈现的新风格。 ```css .color { padding: 10px; margin-right: 5px; } #product-shape { width: 100px; height: 100px; border: solid 1px black; } .active { background-color: lightgray !important; } ``` #### JavaScript逻辑控制 编写脚本以响应用户的选择动作,更新图像上的遮罩颜色的同时也标记当前活动项。 ```javascript const overlay = document.getElementById("product-shape"); let els = document.getElementsByClassName("color"); for (let i = 0; i < els.length; i++) { els[i].addEventListener('click', function(event){ let current = event.target; // 移除所有先前选定项目的'active'类 for(let j=0;j<els.length;j++){ els[j].classList.remove('active'); } // 给当前项目添加'active'类 current.classList.add('active'); // 更overlay填充颜色为新选择的颜色 let hex=current.getAttribute("data-hex"); overlay.style.backgroundColor = hex; }); } ``` 上述方法不仅实现了点击后的即时反馈——即刻变颜色,而且由于引入了持久性的`active`类,使得即使页面刷新之前的选择也会得以保留[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北沐xxx

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值