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

CSS\JS实现页面背景气泡logo上浮效果

效果图:

单容器显示气泡:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Bubble Logo Animation</title></head>
<body><div class="bubble-container"><!-- 气泡将会动态添加到这里 --></div></body><style>
body, html {margin: 0;padding: 0;width: 100%;height: 100%;overflow: hidden;background-color: #ffffff; /* 背景颜色 */display: flex;justify-content: center;align-items: center;
}.bubble-container {position: relative;width: 100%;height: 100%;
}.bubble {position: absolute;bottom: -50px; /* 从页面底部开始 */width: 100px;height: 100px;opacity: 0.8;animation: floatUp 10s infinite;
}.bubble img {width: 100%;height: 100%;object-fit: contain;
}/* 气泡上浮动画 */
@keyframes floatUp {0% {transform: translateY(0) scale(1);opacity: 1;}100% {transform: translateY(-100vh) scale(1.2);opacity: 0;}
}</style><script>
const bubbleContainer = document.querySelector('.bubble-container');function createBubble() {const bubble = document.createElement('div');bubble.className = 'bubble';bubble.style.left = `${Math.random() * 100}vw`; // 随机水平位置bubble.style.animationDuration = `${5 + Math.random() * 5}s`; // 随机动画时长bubble.innerHTML = `<img src="https://img-home.csdnimg.cn/images/20201124032511.png" alt="Logo">`;bubbleContainer.appendChild(bubble);// 动画结束后移除气泡bubble.addEventListener('animationend', () => {bubble.remove();});
}// 定期生成新的气泡
setInterval(createBubble, 1000);</script>
</html>

全屏显示气泡:

<div class="one" style="width: 100%;height: 300px;background-color: pink;"></div><div class="bubble-container"><!-- 气泡将会动态添加到这里 --></div><style>.one {width: 100%;height: 300px;background-color: pink;z-index: 1;position: relative;}/* 覆盖整个页面的气泡容器 */.bubble-container {position: fixed; /* 使容器固定在页面上 */top: 0;left: 0;width: 100%;height: 100%;pointer-events: none; /* 确保气泡不影响页面其他内容的交互 */z-index: 9999; /* 将气泡放在最前面 */}.bubble {position: absolute;bottom: -50px;width: 75px;height: 75px;opacity: 0.5;animation: floatUp 10s infinite;}.bubble img {width: 100%;height: 100%;object-fit: contain;}/* 气泡上浮动画 */@keyframes floatUp {0% {transform: translateY(0) scale(1);opacity: 0.8;}100% {transform: translateY(-100vh) scale(1.2);opacity: 0;}}</style><script>
const bubbleContainer = document.querySelector('.bubble-container');function createBubble() {const bubble = document.createElement('div');bubble.className = 'bubble';bubble.style.left = `${Math.random() * 100}vw`; // 随机水平位置bubble.style.animationDuration = `${5 + Math.random() * 5}s`; // 随机动画时长bubble.innerHTML = `<img src="https://img-home.csdnimg.cn/images/20201124032511.png" alt="Logo">`;bubbleContainer.appendChild(bubble);// 动画结束后移除气泡bubble.addEventListener('animationend', () => {bubble.remove();});
}// 定期生成新的气泡
setInterval(createBubble, 5000);</script>

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【Mybatis】介绍+搭建+参数传递+增删改查操作+事务与连接池
  • rufus制作启动U盘启动/刻盘
  • 一些近期用的Linux命令
  • 幂等方案分析
  • 【6.0】axios的高级用法
  • 开发团队如何应对突发的技术故障和危机?
  • docker容器安装图形界面
  • 指针(二)
  • 【Python机器学习】NLP概述——超空间简述
  • 如何在项目管理中完成项目立项?
  • 图论:描述有限离散集合中元素间关系
  • 春游c++
  • 聚合智链已获道富环球投资,正式上线AI合约策略资金托管平台
  • 参考博客汇总
  • Android.bp和Android.mk文件有的区别
  • 深入了解以太坊
  • Angular2开发踩坑系列-生产环境编译
  • angular组件开发
  • Gradle 5.0 正式版发布
  • Joomla 2.x, 3.x useful code cheatsheet
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • k8s如何管理Pod
  • learning koa2.x
  • MySQL用户中的%到底包不包括localhost?
  • Python 反序列化安全问题(二)
  • SpriteKit 技巧之添加背景图片
  • SQLServer之创建数据库快照
  • 诡异!React stopPropagation失灵
  • 回流、重绘及其优化
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 入手阿里云新服务器的部署NODE
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 推荐一个React的管理后台框架
  • 微服务框架lagom
  • 微信小程序设置上一页数据
  • (152)时序收敛--->(02)时序收敛二
  • (C语言)fgets与fputs函数详解
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (附源码)计算机毕业设计大学生兼职系统
  • (力扣)循环队列的实现与详解(C语言)
  • (三十五)大数据实战——Superset可视化平台搭建
  • (十六)一篇文章学会Java的常用API
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • *上位机的定义
  • .net MySql
  • .Net7 环境安装配置
  • .net后端程序发布到nignx上,通过nginx访问
  • @ConditionalOnProperty注解使用说明
  • [ 环境搭建篇 ] 安装 java 环境并配置环境变量(附 JDK1.8 安装包)
  • [100天算法】-实现 strStr()(day 52)