粒子登录页面

ops/2024/11/13 16:01:50/

演示效果:

在这里插入图片描述

代码如下:

<!DOCTYPE html>
<html>
<head><style>css">* {margin: 0;padding: 0;box-sizing: border-box;}body {display: flex;justify-content: center;align-items: center;min-height: 100vh;background: #1a1a1a;font-family: Arial, sans-serif;}#particles-js {position: fixed;top: 0;left: 0;width: 100%;height: 100%;z-index: 1;}.login-container {position: relative;z-index: 2;background: rgba(255, 255, 255, 0.1);padding: 40px;border-radius: 15px;backdrop-filter: blur(10px);box-shadow: 0 15px 25px rgba(0, 0, 0, 0.2);width: 350px;transition: all 0.3s ease;}.login-container:hover {transform: translateY(-5px);box-shadow: 0 20px 30px rgba(0, 0, 0, 0.3);}.login-container h2 {color: #fff;text-align: center;margin-bottom: 30px;font-size: 2em;font-weight: 600;}.input-group {margin-bottom: 25px;position: relative;}.input-group input {width: 100%;padding: 12px;border: none;background: rgba(255, 255, 255, 0.1);border-radius: 8px;color: #fff;outline: none;font-size: 16px;transition: all 0.3s ease;}.input-group input:focus {background: rgba(255, 255, 255, 0.15);box-shadow: 0 0 10px rgba(255, 255, 255, 0.1);}.input-group input::placeholder {color: rgba(255, 255, 255, 0.5);}button {width: 100%;padding: 12px;border: none;background: #4CAF50;color: #fff;border-radius: 8px;cursor: pointer;font-size: 16px;font-weight: 500;transition: all 0.3s ease;position: relative;overflow: hidden;}button:hover {background: #45a049;transform: translateY(-2px);box-shadow: 0 5px 15px rgba(76, 175, 80, 0.3);}button:active {transform: translateY(0);}/* Add ripple effect */button .ripple {position: absolute;background: rgba(255, 255, 255, 0.3);border-radius: 50%;transform: scale(0);animation: ripple 0.6s linear;}@keyframes ripple {to {transform: scale(4);opacity: 0;}}</style>
</head>
<body><div id="particles-js"></div><div class="login-container"><h2>Login</h2><div class="input-group"><input type="text" placeholder="Username" autocomplete="off"></div><div class="input-group"><input type="password" placeholder="Password"></div><button id="loginBtn">Login</button></div><!-- 加载 particles.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/particles.js/2.0.0/particles.min.js"></script><script>javascript">// Particles.js 配置particlesJS("particles-js", {"particles": {"number": {"value": 80,"density": {"enable": true,"value_area": 800}},"color": {"value": "#ffffff"},"shape": {"type": "circle"},"opacity": {"value": 0.5,"random": false,"anim": {"enable": false}},"size": {"value": 3,"random": true,"anim": {"enable": false}},"line_linked": {"enable": true,"distance": 150,"color": "#ffffff","opacity": 0.4,"width": 1},"move": {"enable": true,"speed": 2,"direction": "none","random": false,"straight": false,"out_mode": "bounce","bounce": false,"attract": {"enable": true,"rotateX": 600,"rotateY": 1200}}},"interactivity": {"detect_on": "canvas","events": {"onhover": {"enable": true,"mode": "grab"},"onclick": {"enable": true,"mode": "push"},"resize": true},"modes": {"grab": {"distance": 140,"line_linked": {"opacity": 1}},"push": {"particles_nb": 4}}},"retina_detect": true});// 添加按钮点击波纹效果document.getElementById('loginBtn').addEventListener('click', function(e) {let ripple = document.createElement('span');ripple.classList.add('ripple');this.appendChild(ripple);let x = e.clientX - e.target.offsetLeft;let y = e.clientY - e.target.offsetTop;ripple.style.left = x + 'px';ripple.style.top = y + 'px';setTimeout(() => {ripple.remove();}, 600);});// 添加输入框聚焦效果document.querySelectorAll('.input-group input').forEach(input => {input.addEventListener('focus', function() {this.parentElement.classList.add('focused');});input.addEventListener('blur', function() {if (!this.value) {this.parentElement.classList.remove('focused');}});});</script>
</body>
</html>

http://www.ppmy.cn/ops/133063.html

相关文章

git 开发库 受控库 产品库

参考&#xff1a;https://blog.csdn.net/xiaojinran/article/details/105628377 项目管理中的开发库、受控库、产品库对应到实际开发中的git&#xff1a; 代码库概念 在配置管理中&#xff0c;一般有3个库的概念&#xff0c;开发库、受控库、产品库开发库是开发人员修改代码的…

22.04Ubuntu---ROS2创建python节点

创建工作空间 mkdir -p 02_ros_ws/src 然后cd到该目录 创建功能包 在这条命令里&#xff0c;tom就是你的功能包 ros2 pkg create tom --build-type ament_python --dependencies rclpy 可以看到tom功能包已经被创建成功了。 使用tree命令&#xff0c;得到如下文件结构 此时…

第 1 章 - Go语言简介

第 1 章 - Go语言简介 1.1 什么是Go语言 Go语言&#xff0c;又称 Golang&#xff0c;是一种静态类型的编译型语言&#xff0c;由 Google 公司的 Robert Griesemer、Rob Pike 和 Ken Thompson 于 2007 年开始设计&#xff0c;并在 2009 年正式对外发布。Go 语言的设计目标是提…

了解什么是数据库(简介)

什么是数据库&#xff1f; 数据库的定义 数据库是结构化信息或数据的有序集合&#xff0c;一般以电子形式存储在计算机系统中。通常由数据库管理系统 (DBMS) 来控制。在现实中&#xff0c;数据、DBMS 及关联应用一起被称为数据库系统&#xff0c;通常简称为数据库。 为了提高…

【vue】封装一个可随时暂停启动无需担心副作用的定时器

【vue】封装一个可随时暂停启动无需担心副作用的定时器 现成轮子&#xff1a;VueUse 库的 useIntervalFn 方法是什么&#xff1f;为什么要用它&#xff1f;怎么用&#xff1f; 分析源码 & 自己手写一个源码自己手写 现成轮子&#xff1a;VueUse 库的 useIntervalFn 方法 是…

C语言初阶必会的练习题(3)之位操作符(^ 、、>>等)的应用

C语言初阶必会的练习题&#xff08;3&#xff09; 放在最前面的1、不允许创建临时变量&#xff0c;交换两个整数的内容1.1、分析&#xff1a;见代码注释&#xff08;a&#xff09;方法 1&#xff08;b&#xff09;方法 2 1.2、结果展示方法 1 的 结果&#xff1a;方法 2 的 结果…

Kafka高频面试题详解(consumer端)

1、消费者组和分区数之间的关系是怎样的&#xff1f; 消费者组内每个消费者负责消费不同分区的数据&#xff0c;一个分区只能由一个组内消费者消费 消费者组之间互不影响&#xff0c;所有的消费者都属于某个消费者组&#xff0c;即消费者组是逻辑上的一个订阅者 2、kafka如何知…

el-table 纵向垂直表头处理

项目中表格展示会遇到需要纵向垂直表头情况&#xff0c;下面&#xff0c;我们基于el-table组件来实现这种表格。 以下是这次需要用到的数据表格&#xff0c;已知左侧违章名称是固定的&#xff0c;而月份是不固定的&#xff0c;在后端返回数据格式已确定的情况下&#xff0c;需…