当前位置: 首页 > news >正文

毛玻璃动画交互效果

效果展示

在这里插入图片描述

页面结构组成

从上述的效果展示页面结构来看,页面布局都是比较简单的,只是元素的动画交互比较麻烦。

第一个动画交互是两个圆相互交错来回运动。第二个动画交互是三角绕着圆进行 360 度旋转。

CSS 知识点

  • animation
  • animation-delay
  • 绝对定位布局

实现整体页面布局及动画交互元素的样式

<div class="container"><div class="loader one"><span></span><span></span></div><div class="loader two"><span></span><span></span></div>
</div>
.container .loader {position: relative;width: 150px;height: 150px;margin: 100px;
}

实现第一个动画交互的元素样式

.container .loader.one span {position: absolute;top: 0;left: 0;width: 100%;height: 100%;display: block;background: #5989ff;border-radius: 50%;animation: animate ease-in-out 2s infinite;
}.container .loader.one span:nth-child(2) {background: rgba(56, 109, 241, 0.05);backdrop-filter: blur(10px);border: 1px solid rgba(255, 255, 255, 0.1);animation-delay: -1s;
}/* 底部阴影 */
.container .loader.one span::before {content: "";position: absolute;bottom: -100px;left: -20%;width: 140%;height: 40px;border-radius: 50%;background: radial-gradient(rgba(0, 0, 0, 0.4), transparent, transparent);
}

实现第一个动画交互的动画

第一个动画是两个圆来回交互运动。

@keyframes animate {0%,100% {transform: translateX(-80px);}50% {transform: translateX(80px);}
}

实现第二个动画交互的元素样式

第二个动画交互时,存在元素之间的层次关系,所以我们需要采用绝对定位布局。

.container .loader.two {position: relative;width: 180px;height: 180px;
}.container .loader.two span:nth-child(1) {position: absolute;top: 10px;left: 10px;right: 10px;bottom: 10px;background: rgba(233, 30, 90, 0.05);border-radius: 50%;backdrop-filter: blur(10px);z-index: 2;border: 1px solid rgba(255, 255, 255, 0.1);
}.container .loader.two span:nth-child(2) {position: absolute;top: 0;left: 0;width: 100%;height: 100%;display: block;overflow: hidden;border-radius: 50%;animation: rotateCircle 1s linear infinite;
}/* 通过移动伪元素形成红色三角部分元素 */
.container .loader.two span:nth-child(2)::before {content: "";display: block;position: absolute;top: -50%;left: -50%;width: 100%;height: 100%;background: #ff6198;
}

实现第二个动画交互的动画

第一个动画是两个圆来回交互运动。

@keyframes rotateCircle {0% {transform: rotate(0);}100% {transform: rotate(360deg);}
}

完整代码下载

完整代码下载

http://www.lryc.cn/news/180622.html

相关文章:

  • Audio2Face的工作原理
  • 【面试题】2023前端面试真题之JS篇
  • Mysql 分布式序列算法
  • Windows/Linux双系统卸载Ubuntu
  • asp.net core mvc 视图组件viewComponents
  • 如何保持终身学习
  • 【RV1103】RTL8723bs (SD卡形状模块)驱动开发
  • LeetCode 周赛上分之旅 #49 再探内向基环树
  • kubernetes-v1.23.3 部署 kafka_2.12-2.3.0
  • 位置编码器
  • Lua多脚本执行
  • Spirng Cloud Alibaba Nacos注册中心的使用 (环境隔离、服务分级存储模型、权重配置、临时实例与持久实例)
  • 26663-2011 大型液压安全联轴器 课堂随笔
  • ChatGPT架构师:语言大模型的多模态能力、幻觉与研究经验
  • 二、VXLAN BGP EVPN基本原理
  • Evil.js
  • 使用sqlmap的 ua注入
  • 华为云云耀云服务器L实例评测 | 实例评测使用之体验评测:华为云云耀云服务器管理、控制、访问评测
  • resultmap
  • 宽带光纤接入网中影响家宽业务质量的常见原因有哪些
  • C++ - 封装 unordered_set 和 unordered_map - 哈希桶的迭代器实现
  • gradle中主模块/子模块渠道对应关系通过配置实现
  • 28383-2012 卷筒料凹版印刷机 学习笔记
  • stable diffusion学习笔记【2023-10-2】
  • flink选择slot
  • 世界前沿技术发展报告2023《世界信息技术发展报告》(六)网络与通信技术
  • spark SQL 任务参数调优1
  • 算法练习2——移除元素
  • 动态规划算法(2)--最大子段和与最长公共子序列
  • CentOS上网卡不显示的问题