使用 html css 和 javascript 代码的 Glassmorphism 卡错觉
来源:dev.to
时间:2024-12-31 08:03:34 153浏览 收藏
欢迎各位小伙伴来到golang学习网,相聚于此都是缘哈哈哈!今天我给大家带来《使用 html css 和 javascript 代码的 Glassmorphism 卡错觉》,这篇文章主要讲到等等知识,如果你对文章相关的知识非常感兴趣或者正在自学,都可以关注我,我会持续更新相关文章!当然,有什么建议也欢迎在评论留言提出!一起学习!
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Interactive Glass Cards</title> <style> * { margin: 0; padding: 0; box-sizing: border-box; } body { background: linear-gradient(135deg, #101010, #1f1f1f); height: 100vh; display: flex; align-items: center; justify-content: center; overflow: hidden; font-family: Arial, sans-serif; } .neon-shapes { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; } .circle, .triangle, .rectangle { position: absolute; opacity: 0.8; filter: blur(2px); } .circle { width: 200px; height: 200px; background: rgba(0, 255, 255, 0.8); border-radius: 50%; top: 20%; left: 15%; } .triangle { width: 0; height: 0; border-left: 100px solid transparent; border-right: 100px solid transparent; border-bottom: 200px solid rgba(255, 0, 255, 0.8); top: 50%; left: 70%; } .rectangle { width: 220px; height: 180px; background: rgba(255, 255, 0, 0.8); top: 70%; left: 30%; } .card-container { display: flex; gap: 20px; position: relative; z-index: 1; } .card { background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); width: 230px; height: 320px; border-radius: 15px; display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding: 20px; box-shadow: 0 4px 30px rgba(0, 0, 0, 0.5); transition: transform 0.3s ease, box-shadow 0.3s ease; } .card img { width: 100px; height: 100px; border-radius: 50%; transition: transform 0.3s, box-shadow 0.3s; } .card h3 { color: white; font-family: 'Lucida Sans', 'Lucida Sans Regular', Geneva, Verdana, sans-serif; } .author { color: white; font-size: 14px; margin-top: -10px; } .follow-btn { background: rgba(0, 255, 127, 0.7); border: none; padding: 15px 25px; border-radius: 20px; color: white; font-size: 18px; cursor: pointer; text-transform: uppercase; animation: neon-flicker 2s infinite; transition: background 0.3s; } .follow-btn:hover { background: rgba(0, 255, 127, 1); } @keyframes neon-flicker { 0%, 100% { box-shadow: 0 0 10px rgba(0, 255, 127, 0.8), 0 0 30px rgba(0, 255, 127, 0.8), 0 0 50px rgba(0, 255, 127, 0.8); } 50% { box-shadow: 0 0 20px rgba(0, 255, 127, 1), 0 0 40px rgba(0, 255, 127, 1), 0 0 60px rgba(0, 255, 127, 1); } } .card:hover { transform: scale(1.1); box-shadow: 0 8px 50px rgba(0, 255, 127, 0.8); } .card img { width: 100px; height: 100px; border-radius: 50%; transition: transform 0.3s ease, filter 0.3s ease; } .card:hover img { transform: translateY(-10px); } .card img.active { transform: translateY(-30px) scale(1.2); filter: drop-shadow(0 0 20px rgba(255, 255, 0, 1)); } </style> </head> <body> <div class="neon-shapes"> <div class="circle"></div> <div class="triangle"></div> <div class="rectangle"></div> </div> <div class="card-container"> <div class="card" onclick="cardClickEffect(this)"> <img src="./removebg.png" alt="Profile Pic"> <h3>webstreet_code</h3> <div class="author">Author: Alexa</div> <button class="follow-btn">Follow Us</button> </div> <div class="card" onclick="cardClickEffect(this)"> <img src="./jerry.png" alt="Profile Pic"> <h3>webstreet_code</h3> <div class="author">Author: Jerry</div> <button class="follow-btn">Follow Us</button> </div> <div class="card" onclick="cardClickEffect(this)"> <img src="./tom.png" alt="Profile Pic"> <h3>webstreet_code</h3> <div class="author">Author: Tom</div> <button class="follow-btn">Follow Us</button> </div> </div> <script> function cardClickEffect(card) { const img = card.querySelector('img'); img.classList.add('active'); setTimeout(() => { img.classList.remove('active'); }, 3000); // 3 seconds for the effect duration // const img = card.querySelector('img'); img.style.transform = 'translateY(-20px) scale(1.5)'; // img.style.boxShadow = '0 10px 60px rgba(255, 255, 0, 1)'; card.style.transform = 'scale(1.2)'; card.style.boxShadow = '0 10px 60px rgba(255, 255, 0, 1)'; setTimeout(() => { img.style.transform = 'translateY(0) scale(1)'; img.style.boxShadow = 'none'; card.style.transform = 'scale(1)'; card.style.boxShadow = '0 4px 30px rgba(0, 0, 0, 0.5)'; }, 3000); } </script> </body> </html>
本篇关于《使用 html css 和 javascript 代码的 Glassmorphism 卡错觉》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!
声明:本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
最新阅读
更多>
-
141 收藏
-
411 收藏
-
194 收藏
-
417 收藏
-
137 收藏
-
294 收藏
课程推荐
更多>
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 507次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习