首页 > 其他分享 >使用css3实现小车行驶的动画效果

使用css3实现小车行驶的动画效果

时间:2024-12-10 09:47:07浏览次数:9  
标签:css3 动画 rotate linear 小车 100px animation

<!DOCTYPE html>
<html>
<head>
<title>Car Animation</title>
<style>
body {
  background-color: #f0f0f0;
}

.container {
  width: 800px;
  height: 200px;
  margin: 50px auto;
  border: 1px solid #ccc;
  position: relative;
  overflow: hidden; /* 隐藏溢出部分 */
}

.car {
  width: 100px;
  height: 50px;
  background-color: red;
  position: absolute;
  left: -100px; /* 初始位置在容器外 */
  bottom: 20px;
  border-radius: 5px;
  animation: drive 5s linear infinite; /* 应用动画 */
}

.wheel {
  width: 20px;
  height: 20px;
  background-color: black;
  border-radius: 50%;
  position: absolute;
  bottom: 5px;
  animation: rotate 1s linear infinite; /* 车轮旋转动画 */
}

.wheel.front {
  left: 10px;
}

.wheel.back {
  right: 10px;
}


@keyframes drive {
  0% {
    left: -100px; /* 从左侧进入 */
  }
  100% {
    left: 900px; /* 移动到右侧,超出容器 */
  }
}

@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
</style>
</head>
<body>

<div class="container">
  <div class="car">
    <div class="wheel front"></div>
    <div class="wheel back"></div>
  </div>
</div>

</body>
</html>

代码解释:

  • HTML 结构: 创建一个 container 作为道路,car 作为小车,wheel 作为车轮。
  • CSS 样式:
    • container: 设置宽度、高度、边框,overflow: hidden; 隐藏超出容器的部分,使小车消失在右侧。
    • car: 设置小车的样式,left: -100px; 初始位置在容器左侧外,animation: drive 5s linear infinite; 应用 drive 动画,使其移动。
    • wheel: 设置车轮样式,animation: rotate 1s linear infinite; 应用 rotate 动画,使其旋转。
  • @keyframes drive: 定义小车移动的动画,从左侧 -100px 移动到右侧 900pxlinear 表示匀速运动,infinite 表示无限循环。
  • @keyframes rotate: 定义车轮旋转动画,从 0deg 旋转到 360deg,实现车轮转动效果。

改进和扩展:

  • 更逼真的车身: 可以使用更复杂的 CSS 或图片来创建更逼真的车身。
  • 背景移动: 可以让背景也移动,模拟小车在行驶的效果。
  • 控制速度: 可以使用 JavaScript 来控制小车的速度和方向。
  • 添加其他元素: 可以添加道路、建筑物、树木等元素,使场景更丰富。

This example provides a basic car animation. You can modify and enhance it further to create more complex and realistic animations.

标签:css3,动画,rotate,linear,小车,100px,animation
From: https://www.cnblogs.com/ai888/p/18596620

相关文章

  • 使用css3制作雪花效果
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>SnowfallEffect</title&......
  • LVGL中的7种动画效果
    此篇文章在2022年3月2日被记录LVGL给我们提供了其中动画效果,分别是:lv_anim_path_linear线性动画lv_anim_path_step最后一步改变lv_anim_path_ease_in开始时很慢lv_anim_path_ease_out最后慢lv_anim_path_ease_in_out开始和结束都很慢lv_anim_path_overshoot超过结......
  • js轻量级计数器动画特效插件
    countUp.js是一款轻量级的、无依赖的js计数器动画特效插件。它能够帮助我们快速的通过多种方式创建计数器的动态变化效果。通过设置startVal和endVal参数,countUp可以在任何一个方向上计数。countUp兼容新超强,兼容所有的浏览器。在线演示 下载 可用参数target :html元素......
  • jQuery和css3全屏弹出式导航菜单特效插件
    这是一款效果非常酷的jQuery和css3全屏弹出式导航菜单特效插件。 在线预览 下载HTML结构html结构使用一个<header>作为wrapper。里面放logo、登录/注册按钮和用于触发全屏导航菜单的触发按钮。全屏导航菜单放置在header外面,为它使用easier的CSStransformation效果。<......
  • 从零开始:PySide6制作启动动画
    使用PySide6创建启动窗口动画请看下面演示效果引言在现代软件开发中,一个精美的启动动画可以提升用户体验,增加软件的专业感。本文将详细介绍如何使用PySide6库创建一个简单的启动窗口动画,包括旋转的LOGO图像。环境准备Python3.13PySide6库依赖项为了确保代码能够正......
  • 使用css3画个旋转的立方体
    <!DOCTYPEhtml><html><head><metacharset="UTF-8"><title>RotatingCube</title><style>body{background-color:#333;display:flex;justify-content:center;align-items:center;min-height:......
  • 133. 大学生HTML5期末大作业 ―【迪士尼影视网页】 Web前端网页制作 html5+css3+js
    目录一、更多推荐二、网页简介三、网页文件四、网页效果五、代码展示1.html2.CSS3.JS六、总结1.简洁实用2.使用方便3.整体性好4.形象突出5.交互式强七、更多推荐一、更多推荐欢迎来到我的CSDN主页!Web前端网页制作、大学生期末大作业、课程设计、毕业设计、......
  • LVGL中roller滚动动画错乱的问题
    LVGL中roller滚动动画错乱的问题最近我在学习bilibili上一个博主的lvgl项目。在其中用到roller来制作一个时钟。我使用style将roller的动画时长拉长到500ms,此时问题出现。roller的内容有两种模式LV_ROLLER_MODE_NORMAL和LV_ROLLER_MODE_INFINITE。在普通模式下roller的滚动正常,但......
  • CSS3——transform属性
    一、前言transform属性是CSS3中新增的一种非常强大的属性,它允许你旋转、缩放、倾斜或平移给定元素。这是通过修改CSS视觉格式化模型的坐标空间实现的。接下来就让我们一起学习transform属性二、transfrom:translate;位移,可以改变元素的位置,translateX让元素沿X轴......
  • 61 基于单片机的小车雷达避障及阈值可调
    所有仿真详情导航:PROTEUS专栏说明-CSDN博客目录一、主要功能二、硬件资源三、主程序编程四、资源下载一、主要功能        基于51单片机,采用超声波传感器检测距离,通过LCD1602显示屏显示,三个按键,第一个按键是切换模式,切换到阈值设置,两个按键负责阈值增减,初始阈......