如何使用纯CSS实现一只移动的小白兔动画效果

本篇文章给大家带来的内容是关于如何使用纯css实现一只移动的小白兔动画效果,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

效果预览

3482408484-5b72195c0a5ff_articlex.gif

代码解读

定义 dom,页面中包含 2 个元素,分别代表兔子和云朵:

立即学习“前端免费学习笔记(深入)”;

居中显示:

body {    margin: 0;    height: 100vh;    display: flex;    align-items: center;    justify-content: center;    background: linear-gradient(midnightblue, black);    font-size: 30px;}

画出兔子的身体:

.rabbit {    width: 5em;    height: 3em;    color: whitesmoke;    background: currentColor;    border-radius: 70% 90% 60% 50%;}

用径向渐变画出兔子的眼睛:

.rabbit {    background:         radial-gradient(            circle at 4.2em 1.4em,            #333 0.15em,            transparent 0.15em        ), /* eye */        currentColor;}

用伪元素画出兔子的右耳:

.rabbit::before {    content: '';    position: absolute;    width: 0.75em;    height: 2em;    background-color: currentColor;    border-radius: 50% 100% 0 0;    transform: rotate(-30deg);    top: -1em;    right: 1em;}

用阴影画出兔子的左耳:

.rabbit::before {    border: 0.1em solid;    border-color: gainsboro transparent transparent gainsboro;    box-shadow: -0.5em 0 0 -0.1em;}

用伪元素画出兔子的尾巴:

.rabbit::after {    content: '';    position: absolute;    width: 1em;    height: 1em;    background-color: currentColor;    border-radius: 50%;    left: -0.3em;    top: 0.5em;}

用阴影画出兔子的腿:

.rabbit::after {    box-shadow:         0.5em 1em 0,        4em 1em 0 -0.2em,        4em 1em 0 -0.2em;}

画出兔子的影子:

.rabbit {    box-shadow: -0.2em 1em 0 -0.75em #333;}

画出一个云朵:

.clouds {    width: 2em;    height: 2em;    color: whitesmoke;    background: currentColor;    border-radius: 100% 100% 0 0;    transform: translate(0, -5em);}.clouds::before,.clouds::after {    content: '';    position: absolute;    background-color: currentColor;    bottom: 0;}.clouds::before {    width: 1.25em;    height: 1.25em;    border-radius: 100% 100% 0 100%;    left: -30%;}.clouds::after {    width: 1.5em;    height: 1.5em;    border-radius: 100% 100% 100% 0;    right: -30%;}

用阴影再画 2 个云朵:

.rabbit {    z-index: 1;}.clouds,.clouds::before,.clouds::after {    box-shadow:     5em 2em 0 -0.3em,    -2em 2em 0 0;}

接下来制作动画效果。
增加兔子跳动的动画:

.rabbit {    animation: hop 3s linear infinite;}@keyframes hop {    20% {        transform: rotate(-10deg) translate(1em, -2em);        box-shadow: -0.2em 1em 0 -1em #333;    }    40% {        transform: rotate(10deg) translate(3em, -4em);        box-shadow: -0.2em 3.25em 0 -1.1em #333;    }    60%, 75% {        transform: rotate(0deg) translate(4em, 0);        box-shadow: -0.2em 1em 0 -0.75em #333;    }}

增加兔子的腿的伸缩动画:

.rabbit::after {    animation: kick 3s infinite linear;}@keyframes kick {    40% {        box-shadow:             0.5em 2em 0,            4.2em 1.75em 0 -0.2em,            4.4em 1.9em 0 -0.2em;    }}

增加云朵飘动的动画:

.clouds {    animation: cloudy 3s infinite linear forwards;    filter: opacity(0);}@keyframes cloudy {    40% {        transform: translate(-3em, -5em);        filter: opacity(0.75);    }    55% {        transform: translate(-4em, -5em);        filter: opacity(0);    }}

大功告成!

相关推荐:

如何使用CSS实现货车loader的效果

怎么用css样式制作好看的表单样式?(代码示例)

网页加载时样式效果css如何实现?(多种样式示例)

以上就是如何使用纯CSS实现一只移动的小白兔动画效果的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1611139.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 02:01:30
下一篇 2025年12月24日 02:01:59

相关推荐

  • 如何使用CSS实现货车loader的效果

    本篇文章给大家带来的内容是关于如何使用css实现货车loader的效果,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 代码解读 定义 dom,容器代表卡车,包含的 2 个子元素代表车头和尾气; 代表道路: 立即学习“前端免费学习笔记(深入)”; 居中显示,同时道路与页面之…

    好文分享 2025年12月24日
    000
  • 如何使用纯CSS实现一个微笑打坐的小和尚

    本篇文章给大家带来的内容是关于如何使用纯css实现一个微笑打坐的小和尚 ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览: 代码解读: 定义 dom,容器中包含的几个元素分别代表头部、眼睛、嘴、身体和腿: 立即学习“前端免费学习笔记(深入)”; 居中显示: body { m…

    2025年12月24日
    000
  • css flex布局(弹性布局)的属性有哪些?css flex布局属性的介绍

    本篇文章给大家带来的内容是关于css flex布局(弹性布局)的属性有哪些?css flex布局属性的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为Flex布局…

    好文分享 2025年12月24日
    000
  • css3D+动画的例子(附完整代码)

    本篇文章给大家带来的内容是关于css3d+动画的例子(附完整代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 前言 最近玩了玩用css来构建3D效果,写了几个demo,所以博客总结一下。  在阅读这篇博客之前,请先自行了解一下css 3D的属性,例如:transform-sty…

    2025年12月24日 好文分享
    000
  • 如何使用CSS 和D3实现摆线摇摆的效果动画

    本篇文章给大家带来的内容是关于如何使用css 和d3实现摆线摇摆的效果动画,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 代码解读 定义 dom,容器中包含 3 个元素,代表 3 条摆线: 居中显示: body { margin: 0; height: 100vh; di…

    2025年12月24日
    000
  • css实现表格的行和列相互交换的代码

    这篇文章给大家介绍的内容是关于css实现表格的行和列相互交换的代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 行列互换table {border: 1px solid #ccc;font-size: 14px;}table th {background: orange;colo…

    好文分享 2025年12月24日
    000
  • css如何在菜单上实现对勾?(代码)

    本篇文章给大家带来的内容是关于css如何在菜单上实现对勾?(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 :after :before li { list-style-type: none; position: relative; margin: 2px; padding:…

    2025年12月24日
    000
  • css实现布局时可以用的几个技巧(代码)

    本篇文章给大家带来的内容是关于css实现布局时可以用的几个技巧(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 面对似曾相识的布局 侧边固定中间自适应,头部固定中间自适应,长得差不多的panel组件,model组件 我们有前端框架bootstrap,easyui都有提供这些组…

    好文分享 2025年12月24日
    000
  • css中Flex布局如何实现九宫格的样式(代码)

    本篇文章给大家带来的内容是关于css中flex布局如何实现九宫格的样式(代码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 .block { padding-top: 30%; margin-top: 3%; border-radius: 10%; background-col…

    2025年12月24日
    000
  • CSS布局有哪些?css常见的布局方式(附代码)

    css布局有哪些?css布局可以让页面看起来比较美观整洁,接下来的这篇文章给大家总结了css中常见的几种布局方式,让我们具体的看一看。 水平居中布局 1、margin + 定宽 Demo .child { width: 50px; margin: 0 auto; } 运行结果: 立即学习“前端免费学…

    2025年12月24日 好文分享
    000
  • 如何使用CSS实现过山车loader的动画效果

    本篇文章给大家带来的内容是关于如何使用css实现过山车loader的动画效果,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 代码解读 定义 dom,容器中包含 3 个元素,代表 3 个圆点: 立即学习“前端免费学习笔记(深入)”; 居中显示: body { margin:…

    2025年12月24日
    000
  • css三栏布局的三种实现方式(圣杯布局、双飞翼布局、Flex布局)

    本篇文章给大家带来的内容是关于lnmp以源码的方式记录环境搭建的过程(详细),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果图: 圣杯布局 圣杯.container{ padding:0 200px 0 180px; height:100px;}.left{ float:lef…

    2025年12月24日
    000
  • flex布局实现网易云播放器界面的布局

    这篇文章给大家介绍的内容是关于flex布局实现网易云播放器界面的布局,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 今天我们就深入项目的细节,说说每一个切图人员绕不过去的坎儿,也是jser必须要面对的一个常规任务–《网易云音乐高复用的响应式轮播图的实现》 轮播图相对于大…

    2025年12月24日 好文分享
    000
  • 什么是css?css三种样式以及文字属性的介绍

    这篇文章给大家介绍的内容是关于什么是css?css三种样式以及文字属性的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 什么是CSS? Cascading Style Sheets,简称CSS,层叠样式表。  用来修饰HTML文件,对网页元素进行排版或大小控制等操作。  也就是…

    好文分享 2025年12月24日
    000
  • css box-sizing属性(盒子模型)的用法介绍

    本篇文章给大家带来的内容是关于CSS中text-transform属性实现字符串转换的代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 1.关于box-sizing: 属性用于更改用于计算元素宽度和高度的默认的 css 盒子模型。 值有:content-box(默认值),bord…

    2025年12月24日
    000
  • 如何使用纯CSS实现一头绿猪的效果

    本篇文章给大家带来的内容是关于如何使用纯css实现一头绿猪的效果,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 每日前端实战系列的全部源代码请从 github 下载: https://github.com/comehope/front-end-daily-ch…

    2025年12月24日
    000
  • CSS中流体布局、元素以及尺寸的介绍

    这篇文章给大家介绍的内容是关于css中流体布局、元素以及尺寸的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、 流体布局引出的几种网页布局方式 布局方式 描述 特点 场景 静态布局Static Layout,传统Web设计,网页上的所有元素的尺寸一律使用px作为单位。不管浏…

    2025年12月24日
    000
  • CSS中盒模型中四个属性的介绍(附代码)

    本篇文章给大家带来的内容是关于css中盒模型中四个属性的介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、替换元素与非替换元素 根据“外在盒子”是内联还是块级我们可以把元素分为内联元素和块级元素,而根据是否具有可替换内容,我们也可以把元素分为替换元素和非替换元素 1…

    2025年12月24日
    000
  • css属性:css伪类和css伪元素的区别(附代码)

    css伪元素和伪类对于刚学习css的同学来说可能会容易混淆,官方文档中解释:css 伪类用于向某些选择器添加特殊的效果,css 伪元素是用于将特殊的效果添加到某些选择器。那么,css伪元素和伪类的区别究竟在哪?本文将给大家细细的说道说道。 首先可以明确两点,第一:两者都与选择器相关,第二:就是添加一…

    好文分享 2025年12月24日
    000
  • css浮动是什么意思?css浮动的原理以及css清除浮动的方法(附代码)

    css浮动是什么意思?所谓css浮动就是浮动元素会脱离文档的普通流,根据float的值向左或向右移动,直到它的外边界碰到父元素的内边界或另一个浮动元素的外边界为止。由于浮动框不在文档的普通流中,所以文档的普通流中的块级元素表现得就像浮动元素不存在一样。接下来,本文讲给大家说一说css浮动的原理以及c…

    2025年12月24日 好文分享
    000

发表回复

登录后才能评论
关注微信