有趣的CSS - 弹跳的圆

大家好,我是 Just,这里是「设计师工作日常」,今天分享的是用css写一个好玩的不停弹跳变形的圆。


《有趣的css》系列最新实例通过公众号「设计师工作日常」发布。

目录

  • 整体效果
  • 核心代码
    • html 代码
    • css 部分代码
  • 完整代码如下
    • html 页面
    • css 样式
    • 页面渲染效果

整体效果

使用伪选择器 :before:after ,并配合 animation 属性并设置 transform 变形参数,实现一个圆不停的弹跳的效果。

一个好玩的不停弹跳变形的圆。


核心代码部分,简要说明了写法思路;完整代码在最后,可直接复制到本地运行。

核心代码

html 代码

<div class="yuan19"></div>

主体一个 div 标签。

css 部分代码

.yuan19:before{content: '';width: 20px;height: 20px;position: absolute;border-radius: 50%;background-color: #333;animation: yuan191 .5s ease infinite alternate;
}
@keyframes yuan191 {0% {top: 60px;height: 5px;border-radius: 50px 50px 25px 25px;transform: scaleX(1.5);}50% {height: 20px;border-radius: 50%;transform: scaleX(1);}100% {top: 0;}
}
.yuan19:after{content: '';width: 20px;height: 4px;border-radius: 50%;position: absolute;top: 62px;animation: yuan192 .5s ease infinite alternate;
}
@keyframes yuan192 {0% {filter: blur(1px);transform: scaleX(1.5);background-color: rgba(0,0,0,0.9);}50% {transform: scaleX(1);background-color: rgba(0,0,0,0.6);}100% {filter: blur(2px);transform: scaleX(0.5);background-color: rgba(0,0,0,0.3);}
}

用伪选择器 :before:after 分别画两个圆,一个作为主体弹跳圆形,一个作为其阴影部分,分别设置 animation 动画参数,注意这里设置了反向播放参数 alternate

完整代码如下

html 页面

<!DOCTYPE html>
<html lang="zh"><head><meta charset="utf-8"><link rel="stylesheet" href="style.css"><title>弹跳的圆</title></head><body><div class="app"><div class="yuan19"></div></div></div></body>
</html>

css 样式

/** style.css **/
.app{width: 100%;height: 100vh;background-color: #ffffff;position: relative;display: flex;justify-content: center;align-items: center;
}
.yuan19{width: 20px;height: 66px;position: relative;
}
.yuan19:before{content: '';width: 20px;height: 20px;position: absolute;border-radius: 50%;background-color: #333;animation: yuan191 .5s ease infinite alternate;
}
@keyframes yuan191 {0% {top: 60px;height: 5px;border-radius: 50px 50px 25px 25px;transform: scaleX(1.5);}50% {height: 20px;border-radius: 50%;transform: scaleX(1);}100% {top: 0;}
}
.yuan19:after{content: '';width: 20px;height: 4px;border-radius: 50%;position: absolute;top: 62px;animation: yuan1912 .5s ease infinite alternate;
}
@keyframes yuan1912 {0% {filter: blur(1px);transform: scaleX(1.5);background-color: rgba(0,0,0,0.9);}50% {transform: scaleX(1);background-color: rgba(0,0,0,0.6);}100% {filter: blur(2px);transform: scaleX(0.5);background-color: rgba(0,0,0,0.3);}
}

页面渲染效果

以上就是所有代码,以及简单的思路,希望对你有一些帮助或者启发。


[1] 原文阅读


CSS 是一种很酷很有趣的计算机语言,在这里跟大家分享一些 CSS 实例 Demo,为学习者获取灵感和思路提供一点帮助,希望你们喜欢。

我是 Just,这里是「设计师工作日常」,求点赞求关注!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/492259.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity Shader - sahder变体剔除

文章目录 吐槽优化方案 - 目前最靠谱的方式shadercsharp 吐槽 我之所以单独写这边文章&#xff0c;是因为之前写的一篇&#xff1a; Unity Shader - Built-in管线下优化变体&#xff0c;编辑后&#xff0c;无法保存&#xff0c;一直提示&#xff1a;操作超时。 等了差不多 3…

【python】学习笔记03-循环语句

3.1 whlie循环的基础语法 - while循环的语法格式 - while循环的注意事项 条件需提供布尔类型结果&#xff0c;True继续&#xff0c;False停止 空格缩进不能忘 请规划好循环终止条件&#xff0c;否则将无限循环 """ 演示while循环基础练习题&#xff1a;求1-10…

普中51单片机学习(8*8LED点阵)

8*8LED点阵 实验代码 #include "reg52.h" #include "intrins.h"typedef unsigned int u16; typedef unsigned char u8; u8 lednum0x80;sbit SHCPP3^6; sbit SERP3^4; sbit STCPP3^5;void HC595SENDBYTE(u8 dat) {u8 a;SHCP1;STCP1;for(a0;a<8;a){SERd…

检索增强生成(RAG):从理论到 LangChain 实现

每日推荐一篇专注于解决实际问题的外文,精准翻译并深入解读其要点,助力读者培养实际问题解决和代码动手的能力。 欢迎关注公众号(NLP Research),及时查看最新内容 原文标题:Retrieval-Augmented Generation (RAG): From Theory to LangChain Implementation 原文地址:…

golang学习3,golang 项目中配置gin的web框架

1.go 初始化 mod文件 go mod init gin-ranking 2.gin的crm框架 go get -u github.com/gin-gonic/gin 3.go.mod爆红解决

JAVA高并发——函数式编程

文章目录 1、FunctionalInterface注释2、接口默认方法3、lambda表达式4、方法引用5、走入函数式编程6、并行流与并行排序6.1、使用并行流过滤数据6.2、从集合得到并行流6.3、并行排序 在正式进入函数式编程之前&#xff0c;有必要先了解一下Java 8为支持函数式编程所做的基础性…

nginx之web服务器 页面配置

4.3.8 自定义 错误页面 我们 可以改变 默认的错误页面&#xff0c;同时也可以用指定的响应状态码进行响应, 可用位置&#xff1a;http, server, location, if in location 格式&#xff1a; error_page code ... [[response]] uri; 页面错误代码 error_page 固定写法 c…

状态空间模型(SSM)

论文&#xff1a;A new approach to linear filtering and prediction problems http://160.78.24.2/Public/Kalman/Kalman1960.pdf 状态空间模型介绍 术语状态空间模型具有非常广泛的含义&#xff0c;它简单地表示任何具有潜在状态的循环过程的概念。 它已被用来指代不同学科…

【Linux运维系列】vim操作

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

分库分表如何管理不同实例中几万张分片表?

大家好&#xff0c;我是小富&#xff5e; ShardingSphere实现分库分表&#xff0c;如何管理分布在不同数据库实例中的成千上万张分片表&#xff1f; 上边的问题是之前有个小伙伴看了我的分库分表的文章&#xff0c;私下咨询我的&#xff0c;看到他的提问我第一感觉就是这老铁…

森歌集成灶:以冠军标准打造健康厨房,为全民健康保驾护航

在2024年这个实施“十四五”规划的关键之年&#xff0c;健康话题无疑是公众最为关注的焦点之一。随着国家卫健委最新发布的《2022年中国居民健康素养监测情况》报告显示&#xff0c;我国居民健康素养水平稳步提升&#xff0c;厨电高端品牌森歌响应国策、顺应潮流将于2月27日-2月…

防御保护 第8-11天笔记

内容安全 攻击可能只是一个点&#xff0c;防御需要全方面进行 IAE引擎 DFI和DPI技术--- 深度检测技术 DPI --- 深度包检测技术--- 主要针对完整的数据包&#xff08;数据包分片&#xff0c;分段需要重组&#xff09;&#xff0c;之后对数据包的内容进行识别。&#xff08;应用…