给圆点添加呼吸动画,老板说我很有想法

简介: 【10月更文挑战第13天】给圆点添加呼吸动画,老板说我很有想法

需求简介

这几天老板安排了一个活:要实现一些异常信息点的展示,展示的方式就是画一个红色的点

需求很简单,我也快速实现了。但是想着我刚入职不久,所以得想办法表现一下自己。于是,我自作主张,决定给这个小圆点实现一个呼吸的效果动画。

实现方案

要实现这样一个小圆点的动画非常简单,借助css的animation实现即可

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Breathing Circle Animation</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    // 白边红色小圆点
    <div class="dot">
       // 小圆点的背景元素
       <div class="breathing-background"></div>
    </div>
</body>
</html>
.dot {
   
    display: inline-block;
    width: 10px;
    height: 10px;
    border: 2px solid #fff;
    border-radius: 50%;
    background-color: red;
    position: relative;
    z-index: 1;
}
.breathing-background {
   
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    opacity: 0.2;
    animation: breathing 2s cubic-bezier(0, 0, 0.25, 1) infinite;
}
// 动画 变大再变小
@keyframes breathing {
   
    0% {
   
        transform: scale(1);
    }
    50% {
   
        transform: scale(5);
        opacity: 0.2;
    }
    100% {
   
        transform: scale(5);
        opacity: 0;
    }
}

上面的动画实现主要依赖于CSS关键帧动画和定位属性。

  • 定位:通过设置.dot为相对定位(position: relative)和.breathing-background为绝对定位(position: absolute),确保两个元素在同一个位置上重叠。
  • 层叠顺序:使用z-index属性确保.dot在.breathing-background的前面,从而保证红色小圆点在呼吸动画背景上显示。
  • 动画效果:@keyframes breathing定义了从正常尺寸到放大再到透明的动画过程,通过transform: scale和opacity属性的变化来实现呼吸效果。
  • 动画循环:通过animation属性设置动画的持续时间、缓动函数和无限循环,使呼吸动画效果持续进行。

上面的代码很简单,实现的效果也简单粗暴

老板反应

做完之后,我很高兴的就提交代码了,我很满意自己小改动。
过了很久,老板看后,把我叫到办公室,深色凝重的说了一句:你很有想法

随后老板又问我,你加这个闪烁的背景想表达啥?

我一时语塞,解释:这样不是看起来更好看,更能清晰的表达这个异常的状态吗?

老板又怼我,谁让你乱加动画了?时间多的没处用是吧?删了。

我不太理解老板为啥生气,回去后也是默默地删除了代码。。。。。

后来我反思了一下,程序员还是别乱加自己的想法在需求里,毕竟我们还是不懂产品,做的越多,错的越多。做好本分工作就行了。

相关文章
|
数据可视化 前端开发 JavaScript
vue3+threejs可视化项目——引入threejs加载钢铁侠模型(第二步)
vue3+threejs可视化项目——引入threejs加载钢铁侠模型(第二步)
1713 3
|
Web App开发 开发者
Mac Chrome crx(插件) 文件导出与导入
Mac Chrome crx(插件) 文件导出与导入
1393 0
|
2月前
|
人工智能 自然语言处理 搜索推荐
智能体来了:从 0 到 1 搭建个人 AI 助手
个人 AI 助手正在从“聊天工具”升级为“数字助手系统”。它不仅能回答问题,还可以帮你整理信息、生成内容、管理任务甚至辅助决策。本文从 0 到 1 介绍个人 AI 助手的核心能力、搭建思路与实用步骤,帮助读者打造真正能提升效率的个人 AI 助手。
667 0
|
机器学习/深度学习 存储 人工智能
【AI系统】卷积操作原理
本文详细介绍了卷积的数学原理及其在卷积神经网络(CNN)中的应用。卷积作为一种特殊的线性运算,是CNN处理图像任务的核心。文章从卷积的数学定义出发,通过信号处理的例子解释了卷积的过程,随后介绍了CNN中卷积计算的细节,包括卷积核、步长、填充等概念。文中还探讨了卷积的物理意义、性质及优化手段,如张量运算和内存布局优化。最后,提供了基于PyTorch的卷积实现示例,帮助读者理解和实现卷积计算。
1662 31
【AI系统】卷积操作原理
|
API iOS开发 智能硬件
在iOS应用中使用实时活动与灵动岛
iOS16系统引入了实时活动与灵动岛相关的API。实时活动API能够让用户在桌面直接浏览到应用程序所提供的实时性较高的信息,例如比赛的比分信息,外卖的配送进度信息,票务信息等。在支持灵动岛的设备上,实时活动配合灵动岛,更是能带给用户沉浸式的信息获取体验,在某些特定应用场景下非常有用。
1398 8
|
机器学习/深度学习 自然语言处理 C++
TSMamba:基于Mamba架构的高效时间序列预测基础模型
TSMamba通过其创新的架构设计和训练策略,成功解决了传统时间序列预测模型面临的多个关键问题。
1203 4
TSMamba:基于Mamba架构的高效时间序列预测基础模型
|
安全 程序员 Linux
探索操作系统的核心:用户态与核心态的深度解析
本文介绍了操作系统中用户态与核心态的概念,两者分别代表程序执行的不同权限级别。用户态限制应用程序访问敏感资源以确保安全,而核心态赋予操作系统完全控制权以管理硬件和内存。文章详细解释了这两种状态的重要性、区别以及如何在二者之间进行切换,包括通过系统调用、异常和中断等方式。理解这些概念对于确保系统的稳定性和安全性至关重要。
1204 3
|
前端开发 开发者 UED
CSS布局模式之Flex布局&Grid布局(一)
CSS布局模式之Flex布局&Grid布局
|
Java 测试技术
【Java】已解决java.lang.UnsupportedOperationException异常
【Java】已解决java.lang.UnsupportedOperationException异常
2933 0
|
前端开发
深入理解 React 中的 Context
深入理解 React 中的 Context
568 1

热门文章

最新文章

下一篇
开通oss服务