纯css3实现小鸡从鸡蛋破壳而出动画特效

实现一个使用纯css3实现小鸡破壳的效果

示例效果如下所示

9d8eb639f37f2ea7633b2cf85a2d97b7.gif

示例代码

<template><div><div class="eggWrapper"><div class="chickHead"><div class="eyeDiv"></div><div class="eyeDiv"></div><div class="beakDiv"></div></div><div class="eggDiv"></div><div class="eggTop"></div></div><div class="eggWrapper"><div class="chickHead"><div class="eyeDiv"></div><div class="eyeDiv"></div><div class="beakDiv"></div></div><div class="eggDiv"></div><div class="eggTop"></div></div><div class="eggWrapper"><div class="chickHead"><div class="eyeDiv"></div><div class="eyeDiv"></div><div class="beakDiv"></div></div><div class="eggDiv"></div><div class="eggTop"></div></div><div class="eggWrapper"><div class="chickHead"><div class="eyeDiv"></div><div class="eyeDiv"></div><div class="beakDiv"></div></div><div class="eggDiv"></div><div class="eggTop"></div></div><div class="eggWrapper"><div class="chickHead"><div class="eyeDiv"></div><div class="eyeDiv"></div><div class="beakDiv"></div></div><div class="eggDiv"></div><div class="eggTop"></div></div>  </div>
</template>
<style>
.eggWrapper {position: relative;display: inline-flex;margin-left: 1em;margin-top: 20vh;width: 10em;height: 12em;
}
.eggDiv,
.eggTop {position: absolute;width: 10em;height: 10em;border-radius: 80% 20% 55% 50% / 55% 20% 80% 50%;-webkit-transform: rotate(-45deg);transform: rotate(-45deg);background-color: #ffffee;box-shadow: inset 1em 1em 2em rgba(0, 0, 0, 0.3),inset 0.2em 0.2em 1em #ffff55;-webkit-clip-path: polygon(-35.87% 83.08%,244% 155.05%,108.11% 49.6%,76.11% 57.69%,71.33% 37.01%,44.85% 22.33%,32.41% -13.39%);clip-path: polygon(-35.87% 83.08%,244% 155.05%,108.11% 49.6%,76.11% 57.69%,71.33% 37.01%,44.85% 22.33%,32.41% -13.39%);margin-top: 2em;transition: -webkit-transform 300ms cubic-bezier(0.5, -0.5, 0.5, 1.5) 0s;transition: transform 300ms cubic-bezier(0.5, -0.5, 0.5, 1.5) 0s;transition: transform 300ms cubic-bezier(0.5, -0.5, 0.5, 1.5) 0s, -webkit-transform 300ms cubic-bezier(0.5, -0.5, 0.5, 1.5) 0s;
}
.eggTop {-webkit-transform: rotate(-45deg) translateY(0.1em) translateX(-0.1em) scale(1.016);transform: rotate(-45deg) translateY(0.1em) translateX(-0.1em) scale(1.016);-webkit-clip-path: polygon(27.84% -22.62%,123.57% -5.52%,108.11% 49.6%,76.11% 57.69%,71.33% 37.01%,44.85% 22.33%,32.41% -13.39%);clip-path: polygon(27.84% -22.62%,123.57% -5.52%,108.11% 49.6%,76.11% 57.69%,71.33% 37.01%,44.85% 22.33%,32.41% -13.39%);
}
.chickHead {position: absolute;top: 1em;width: 7em;height: 7em;margin-left: 1.5em;margin-top: 2em;background-color: #ffff55;box-shadow: inset 1em 1em 2em rgba(0, 0, 0, 0.3),inset 0 2em 1em rgba(0, 0, 0, 0.3);border-radius: 100%;transition: -webkit-transform 300ms ease-in-out 0s;transition: transform 300ms ease-in-out 0s;transition: transform 300ms ease-in-out 0s, -webkit-transform 300ms ease-in-out 0s;
}
.chickHead .eyeDiv {position: relative;width: 1em;height: 1em;float: left;border-radius: 100%;margin: 0.3em;margin-top: 3em;background-color: #666666;box-shadow: inset 0.3em -0.3em 0.5em rgba(0, 0, 0, 0.8);-webkit-animation-name: blinkAnim;animation-name: blinkAnim;-webkit-animation-duration: 3s;animation-duration: 3s;-webkit-animation-timing-function: ease-in-out;animation-timing-function: ease-in-out;-webkit-animation-iteration-count: infinite;animation-iteration-count: infinite;
}
.chickHead .eyeDiv:nth-of-type(2) {float: right;-webkit-animation-delay: 20ms;animation-delay: 20ms;
}
.chickHead .beakDiv {position: absolute;width: 1em;height: 1em;margin-top: 3.2em;margin-left: 3em;border-radius: 80% 20% 55% 50% / 55% 20% 80% 50%;-webkit-transform: rotate(135deg);transform: rotate(135deg);background-color: #ff5800;border: 0.1em solid #ffff55;box-shadow: inset -0.3em 0.3em 0.5em rgba(0, 0, 0, 0.3);
}
.eggWrapper:hover .eggTop {/*margin-top: -1vw;*/-webkit-transform: translateY(-3em) rotate(-45deg);transform: translateY(-3em) rotate(-45deg);
}
.eggWrapper:hover .chickHead {-webkit-transform: translateY(-3em);transform: translateY(-3em);
}
@-webkit-keyframes blinkAnim {0% {-webkit-transform: scaleY(1);transform: scaleY(1);}5% {-webkit-transform: scaleY(0.1);transform: scaleY(0.1);}10% {-webkit-transform: scaleY(0.1);transform: scaleY(0.1);}15% {-webkit-transform: scaleY(1);transform: scaleY(1);}100% {-webkit-transform: scaleY(1);transform: scaleY(1);}
}
@keyframes blinkAnim {0% {-webkit-transform: scaleY(1);transform: scaleY(1);}5% {-webkit-transform: scaleY(0.1);transform: scaleY(0.1);}10% {-webkit-transform: scaleY(0.1);transform: scaleY(0.1);}15% {-webkit-transform: scaleY(1);transform: scaleY(1);}100% {-webkit-transform: scaleY(1);transform: scaleY(1);}
}</style>

实现这个小鸡破壳,使用css3,结合动画关键帧就可以实现,结合元素绝对定位,使用div+css进行绘制

当鼠标移上去时,实现蛋黄与蛋壳的分离,使用css3中的transform,变换,垂直反方向上,平移就可以实现

村民私自搭桥收费被判刑

2023-07-10

354079cafb0f8726a5796bfe803763c7.jpeg

聊一下大学几年如何渡过

2023-07-09

d9c09fae15e27f95c44b84ee61f836f8.jpeg

聊一下计算机程序员转行情感博主

2023-07-08

3e3da8f39cb0da4d0f8388124d9cc2bd.jpeg

聊一聊抑郁症

2023-07-07

de7acc9432c9434adcceb0283817bf52.jpeg

PHP中的变量

2023-07-04

54f8d8831c789b2ba0853cc03a54a8f9.jpeg

了解PHP-入门-环境搭建-集成环境安装

2023-07-03

fe10438d2ef50152c4efd5cd54965316.jpeg

a334d35a71c730f2b64ccebe60f35af7.png

0039390bdeea5912523d7046bbba206b.png

59f36f54be80a08d44ed65ef81221ce2.png

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

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

相关文章

【K8S系列】深入解析K8S监控

序言 做一件事并不难&#xff0c;难的是在于坚持。坚持一下也不难&#xff0c;难的是坚持到底。 文章标记颜色说明&#xff1a; 黄色&#xff1a;重要标题红色&#xff1a;用来标记结论绿色&#xff1a;用来标记论点蓝色&#xff1a;用来标记论点 Kubernetes (k8s) 是一个容器编…

6款开源中文OCR使用介绍(亲测效果)

文章目录 前言开源ocr项目1. Paddle OCR&#xff08;推荐指数&#xff1a;★★★★★&#xff09;1.1 简介1.2 使用1.3 优缺点 2. CnOCR&#xff08;推荐指数&#xff1a;★★★★★&#xff09;2.1 简介2.2 使用2.3 优缺点 3. chinese_lite OCR&#xff08;推荐指数&#xff1…

积分图像、图像分割、Harris角点检测

目录 1、积分图像 2、图像分割--漫水填充 3、图像分割--分水岭法 4、Harris角点检测 1、积分图像 #include <iostream> #include <opencv2/opencv.hpp>using namespace cv; using namespace std;//积分图像 int test() {//创建一个1616全为1的矩阵,因为2561616M…

qgis添加地理地图书签,快速定位到想要的位置

我们打开qgis软件&#xff0c;一般这个功能区域默认在左侧的中间位置&#xff0c;如图&#xff1a; 如果没有的话&#xff0c;我们需要调出来&#xff0c;在软件上方的菜单栏的空白处&#xff0c;右键显示面板调试框&#xff0c;勾选空间书签管理器面板&#xff0c;即可&…

Perforce Helix Core新版本推出资源压力感知功能,提升服务器可用性,助力大规模开发

您的版本控制系统帮助团队进行主动监控吗&#xff1f; Perforce Helix Core的客户经常在不同维度上测试规模和性能的极限。其中一些维度包括文件数量、文件大小、用户数和并发事务数量。随着这些维度的压力增加&#xff0c;服务器资源&#xff08;如内存和CPU&#xff09;通常…

gee架设教程

1:GameCenter 设置 1.1服务器控制 1.2 账号 1.3.1 配置向导 - 基本设置 1.3.2 配置向导 - 登录网关 1.3.3 配置向导 - 角色网关 1.3.4 配置向导 - 游戏网关 1.3.5 配置向导 - 登录服务器 1.3.6 配置向导 - 数据库服务器 1.3.7 配置向导 - 日志服务器 1.3.8 配置向导 - 主服务器…

Antd List组件增加gutter属性后出现横向滚动,如何解决

第一次使用ant design的List列表组件&#xff0c;设置gutter间隔属性后&#xff0c;页面出现了横向滚动条&#xff0c;查阅文档发现是由于加间隔后导致容器宽度被撑开&#xff0c;ant design官方默认给外层容器加了margin-left和margin-right 解决方法是在外层容器预留一定的pa…

cmake默认编译模式Debug or Release

CMAKE的编译选项 在阅读一些工程源码中&#xff0c;CMakeLists文件通常看到一下内容&#xff1a; set(CMAKE_CXX_FLAGS_DEBUG "-fPIC -O0 -g -Wall") set(CMAKE_CXX_FLAGS_RELEASE "-fPIC -O2 -g -Wall")那我们的编译时&#xff0c;用的到底是哪一个呢&a…

vue3和tauri直接下载Binary 数组的二进制文件内容到本地

通过发送url请求&#xff0c;直接获取到一个文件的Binary 数组内容&#xff0c;然后通过tauri的api&#xff1a;writeBinaryFile保存文件到本地电脑。 发送请求的时候&#xff0c;要加上响应类型&#xff1a;responseType: ResponseType.Binary 然后等返回的响应内容&#xf…

解决Spring Data JPA查询存在缓存问题及解决方案

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

【PDFBox】PDFBox操作PDF文档之添加本地图片、添加网络图片、图片宽高自适应、图片水平垂直居中对齐

这篇文章&#xff0c;主要介绍PDFBox操作PDF文档之添加本地图片、添加网络图片、图片宽高自适应、图片水平垂直居中对齐。 目录 一、PDFBox操作图片 1.1、添加本地图片 &#xff08;1&#xff09;案例代码 &#xff08;2&#xff09;运行效果 &#xff08;3&#xff09;方…

学校招生报名小程序开发笔记(一)

背景 这是一个以报名为核心的职业学校招生小程序&#xff0c;目的是方便想要系统学习技能&#xff0c;入门某项技能或者领域的初高中毕业生&#xff0c;了解该学校的基本情况及各个专业&#xff0c;并提供报名路径&#xff0c;致力于技能型人才培养 功能规划 主要功能包括专…