炫酷圆形按钮调色器

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>圆形按钮颜色控制器</title>
<style>
body {
font-family: 'Arial', sans-serif;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
background-color: #f0f0f0;
}

.container {
text-align: center;
background: white;
padding: 30px;
border-radius: 10px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
width: 300px;
}

.display-button {
width: 40px;
height: 40px;
border-radius: 50%;
margin: 20px auto;
background-color: #cccccc;
border: none;
cursor: default;
transition: all 0.3s ease;
box-shadow: 
0 4px 8px rgba(0, 0, 0, 0.1),
inset 0 0 10px rgba(0, 0, 0, 0.1);
}

.control-buttons {
display: flex;
justify-content: space-between;
margin-top: 20px;
}

.control-button {
padding: 10px 15px;
border: none;
border-radius: 5px;
cursor: pointer;
font-weight: bold;
color: white;
transition: all 0.2s ease;
}

.control-button:hover {
transform: translateY(-2px);
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.control-button:active {
transform: translateY(0);
}

#button1 {
background-color: #e74c3c;
}

#button2 {
background-color: #e67e22;
}

#button3 {
background-color: #2ecc71;
}

/* 状态类 */
.red {
background-color: #e74c3c !important;
box-shadow: 
0 4px 12px rgba(231, 76, 60, 0.4),
inset 0 0 10px rgba(0, 0, 0, 0.1) !important;
}

.orange {
background-color: #e67e22 !important;
box-shadow: 
0 4px 12px rgba(230, 126, 34, 0.4),
inset 0 0 10px rgba(0, 0, 0, 0.1) !important;
}

.green {
background-color: #2ecc71 !important;
box-shadow: 
0 4px 12px rgba(46, 204, 113, 0.4),
inset 0 0 10px rgba(0, 0, 0, 0.1) !important;
}
</style>
</head>
<body>
<div class="container">
<h2>按钮颜色控制器</h2>
<button class="display-button" id="displayBtn"></button>
<div class="control-buttons">
<button class="control-button" id="button1">红色</button>
<button class="control-button" id="button2">橙色</button>
<button class="control-button" id="button3">绿色</button>
</div>
</div>

    <script>
// 获取DOM元素
const displayBtn = document.getElementById('displayBtn');
const button1 = document.getElementById('button1');
const button2 = document.getElementById('button2');
const button3 = document.getElementById('button3');

// 移除所有颜色类
function resetColors() {
displayBtn.classList.remove('red', 'orange', 'green');
}

// 按钮事件监听
button1.addEventListener('click', function() {
resetColors();
displayBtn.classList.add('red');
displayBtn.textContent = "红色状态";
});

button2.addEventListener('click', function() {
resetColors();
displayBtn.classList.add('orange');
displayBtn.textContent = "橙色状态";
});

button3.addEventListener('click', function() {
resetColors();
displayBtn.classList.add('green');
displayBtn.textContent = "绿色状态";
});
</script>
</body>
</html>

运行效果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/2728.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯----锁存器、LED、蜂鸣器、继电器、Motor

(七)、锁存器1、原理蓝桥杯中数据传入口都是P0&#xff0c;也就是数码管段选、位选数据、LED亮灭的数据、蜂鸣器启动或禁用的数据&#xff0c;外设启动或者关闭都需要通过P0写入数据&#xff0c;那么如何这样共用一个端口会造成冲突嘛&#xff0c;答案是肯定的。所以蓝桥杯加入…

LeetCode 分类刷题:611. 有效三角形的个数

题目 给定一个包含非负整数的数组 nums &#xff0c;返回其中可以组成三角形三条边的三元组个数。 示例 1: 输入: nums [2,2,3,4] 输出: 3 解释:有效的组合是: 2,3,4 (使用第一个 2) 2,3,4 (使用第二个 2) 2,2,3示例 2: 输入: nums [4,2,3,4] 输出: 4 解析 分析 首先明…

MATLAB深度学习之数据集-数据库构建方法详解

前言 在MATLAB中&#xff0c;训练深度学习模型时&#xff0c;数据库的构建与输入是关键十分关键的一环&#xff0c;真对不同的数据类型和训练样本&#xff0c;正确的数据构建是训练代码跑通的基本前提。 本文章主要基于matlab官方文档内容和实际应用问题、技巧进行的总结。 …

Linux《进程间通信(上)》

在以上的动静态库的章节当中我们了解了库的制作和原理&#xff0c;了解到了.o文件以及动静态库的本质上都是FLF格式的文件&#xff0c;还了解了ELF文件各个的组成部分。接下来在本篇开始我们就将学习Linux当中又一重要的章节——进程间通信。在进程间通信的学习当中我们将了解到…

Vue2博客项目笔记(完结)

this.$emit(load): 子组件负责监听,然后告诉父组件,父组件来执行 load 方法 <div ref"scroll" >ref"scroll"&#xff1a;给元素取引用名&#xff0c;在 JS 中可以通过 this.$refs.scroll 拿到这个元素 <slot></slot> :用于把父组件传入的…

WinForm之ListView 组件

在 WinForm 中&#xff0c;ListView是用于展示列表型数据的灵活控件&#xff0c;支持多种视图模式&#xff08;如详情列表、图标、列表等&#xff09;&#xff0c;可展示带有图标、多列属性的项目&#xff08;如文件列表、产品信息&#xff09;&#xff0c;兼具展示和交互功能&…

2025年渗透测试面试题总结-01(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 常见面试题 一、有趣的挖洞经历 二、高频漏洞及修复方案 三、渗透工具链及特点 四、WAF绕过技术 五、系…

C++(线程)

一、线程1、线程构造函数类模板原型&#xff1a;template <class Fn, class... Args>explicit thread (Fn&& fn, Args&&... args);1&#xff09;thread&#xff08;线程的构造函数&#xff09;格式&#xff1a;#include <thread>thread 线程名(回调…

cf.训练

1. Buying Lemonade Buying Lemonade 解题思路&#xff1a; 排序&#xff1a;将插槽的罐数 a 从小到大排序&#xff08;sort(a, an)&#xff09;。 特殊情况处理&#xff1a; 若最小罐数足够大&#xff08;a[0] > k/n 且 k%n0&#xff09;或 k1&#xff0c;直接输出 k&…

JAVA无人共享球杆柜系统球杆柜租赁系统源码支持微信小程序

JAVA无人共享球杆柜系统&#xff1a;物联网小程序打造高尔夫租赁新体验市场机遇与行业痛点1. 高尔夫球杆租赁市场蓝海市场规模快速增长&#xff1a;2023年中国高尔夫球杆行业市场规模达到14.77亿元&#xff0c;预计2024年将突破15.75亿元。全球高尔夫装备市场2024年达到132.6亿…

uniapp Android App集成支付宝的扫码组件mPaaS

第一步&#xff0c;设置包名&#xff0c;下载插件导项目中 在manifest.json中添加package, 设置完指定的包名后&#xff1a;Hbuilderx打包时包名也会变化 变成 下载插件导项目中&#xff0c; 第二步&#xff1a;进入阿里云mPaas后台完成代码配置&#xff0c;下载配置文件http…

Effective C++ 条款22: 将成员变量声明为private

Effective C 条款22&#xff1a;将成员变量声明为private核心思想&#xff1a;始终将成员变量声明为private&#xff0c;通过函数接口控制访问&#xff0c;提供封装弹性、精确访问控制和一致性维护点。 ⚠️ 1. 公开成员的致命缺陷 数据一致性破坏&#xff1a; class AccessPoi…