HTML+CSS实现小黄人骑摩托

效果演示

HTML+CSS创建的摩托车动画效果。它使用了CSS的渐变、径向渐变、背景位置、边框半径和动画等属性来设计和实现动画。

HTML

html 复制代码
<span class="motorcycle"></span>
  • span 元素被赋予了类名 motorcycle,这个类名将被用来应用CSS样式

CSS

css 复制代码
.motorcycle {
    width: 106px;
    height: 56px;
    display: block;
    margin: 30px auto;
    background-image: linear-gradient(#FFCA27 50px, transparent 0), linear-gradient(#FFCA27 50px, transparent 0), linear-gradient(#FFCA27 50px, transparent 0), linear-gradient(#FFCA27 50px, transparent 0), radial-gradient(circle 14px, #ffffff 100%, transparent 0);
    background-size: 48px 15px, 15px 35px, 15px 35px, 25px 15px, 28px 28px;
    background-position: 25px 5px, 58px 20px, 25px 17px, 2px 37px, 76px 0px;
    background-repeat: no-repeat;
    position: relative;
    transform: rotate(-45deg);
    box-sizing: border-box;
}

.motorcycle::after,
.motorcycle::before {
    content: '';
    position: absolute;
    width: 56px;
    height: 56px;
    border: 6px solid #FF6238;
    border-radius: 50%;
    left: -45px;
    top: -10px;
    background-repeat: no-repeat;
    background-image: linear-gradient(#FBF9F7 64px, transparent 0), linear-gradient(#FBF9F7 66px, transparent 0), radial-gradient(circle 4px, #FF6238 100%, transparent 0);
    background-size: 40px 1px, 1px 40px, 8px 8px;
    background-position: center center;
    box-sizing: border-box;
    animation: bike 0.3s linear infinite;
}

.motorcycle::before {
    left: 25px;
    top: 60px;
}

@keyframes bike {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}
  • width 和 height 设置了元素的宽度和高度。
  • display: block; 和 margin: 30px auto; 将元素居中显示。
  • background-image 使用了多个渐变来创建摩托车的各个部分,包括线性渐变和径向渐变。
  • background-size 和 background-position 定义了背景图像的大小和位置。
  • transform: rotate(-45deg); 将元素旋转-45度,以便摩托车的图形正确显示。
  • box-sizing: border-box; 确保边框和内边距包含在元素的宽度和高度内。
  • ::after 和 ::before 伪元素被用来创建额外的视觉效果,这里它们被用来创建摩托车的轮子。
  • content: ''; 是一个必需的属性,用于创建伪元素。
  • position: absolute; 将伪元素定位在摩托车的特定位置。
  • border 和 border-radius 创建了一个圆形的轮子边框。
  • background-image、background-size 和 background-position 用于在轮子中心添加一个更小的圆点,模拟轮子的中心。
  • animation: bike 0.3s linear infinite; 应用了一个名为 bike 的动画,使轮子无限循环旋转。
  • motorcycle::before两个轮子分别位于摩托车的两侧
  • @keyframes bike 定义了一个名为 bike 的动画,它使元素从0度旋转到360度,创建了一个连续旋转的效果。
相关推荐
程序员大阳15 小时前
HTML+CSS+JS对话式实战(3)-活动管理页实现查询、新增、删除API后端接口
javascript·css·html·实战·删除·查询·新增
ZhengEnCi1 天前
12 种高级 UI 交互效果及对应 AI 提示词:从按压回弹到底部抽屉的物理感教学
前端·css·交互设计
ZhengEnCi2 天前
为什么苹果的圆角更高级:连续曲率圆角 Squircle 从超椭圆到 CSS 实现的完全讲解
css·设计
用户3434612783203 天前
用户认证系统在高并发下的幂等性与限流策略踩坑实录
css
啾咪orJIUMI4 天前
Vue 3 + SCSS 实现全屏系统门户:五栏展开与灯光联动
css
htzyl2064 天前
前端阶梯——第四十三章、实战二:待办清单To-Do
前端·javascript·html
程序员大阳4 天前
HTML+CSS+JS对话式实战(1)-开篇:认识我们要做的社团活动发布平台
javascript·css·html·实战·系统·平台·社团活动发布
一支蜉蝣4 天前
Day26 XD安全学习笔记--PHP 应用&模版引用&Smarty渲染&MVC 模型&数据联动&RCE 安全
笔记·网络安全·html·php
用户298698530144 天前
Python 将 Markdown 批量转为 HTML:单文件与目录遍历两种实现
python·html·markdown
钱栈up4 天前
热榜上手|HyperFrames:写HTML出MP4
前端·html