当前位置:首页 > CSS

css制作奔跑白熊

2026-03-12 08:33:49CSS

CSS奔跑白熊动画实现

通过CSS动画和关键帧技术可以创建一个奔跑的白熊效果,以下是具体实现方法:

HTML结构

创建一个包含熊身体各部分的HTML结构:

css制作奔跑白熊

<div class="bear">
  <div class="head"></div>
  <div class="ear left"></div>
  <div class="ear right"></div>
  <div class="eye left"></div>
  <div class="eye right"></div>
  <div class="body"></div>
  <div class="arm left"></div>
  <div class="arm right"></div>
  <div class="leg left"></div>
  <div class="leg right"></div>
</div>

CSS样式与动画

通过关键帧动画实现奔跑效果:

css制作奔跑白熊

.bear {
  position: relative;
  width: 200px;
  height: 150px;
  margin: 100px auto;
}

.head {
  position: absolute;
  width: 80px;
  height: 70px;
  background: white;
  border-radius: 50%;
  top: 0;
  left: 60px;
}

.ear {
  position: absolute;
  width: 25px;
  height: 25px;
  background: white;
  border-radius: 50%;
  top: -10px;
}

.ear.left { left: 55px; }
.ear.right { left: 100px; }

.eye {
  position: absolute;
  width: 10px;
  height: 10px;
  background: black;
  border-radius: 50%;
  top: 30px;
}

.eye.left { left: 75px; }
.eye.right { left: 95px; }

.body {
  position: absolute;
  width: 100px;
  height: 80px;
  background: white;
  border-radius: 40px;
  top: 60px;
  left: 50px;
}

.arm, .leg {
  position: absolute;
  width: 20px;
  height: 40px;
  background: white;
  border-radius: 10px;
}

.arm.left {
  top: 70px;
  left: 40px;
  transform-origin: top center;
  animation: armSwing 0.5s infinite alternate;
}

.arm.right {
  top: 70px;
  left: 140px;
  transform-origin: top center;
  animation: armSwing 0.5s infinite alternate-reverse;
}

.leg.left {
  top: 130px;
  left: 60px;
  transform-origin: top center;
  animation: legSwing 0.5s infinite alternate;
}

.leg.right {
  top: 130px;
  left: 120px;
  transform-origin: top center;
  animation: legSwing 0.5s infinite alternate-reverse;
}

@keyframes armSwing {
  0% { transform: rotate(-20deg); }
  100% { transform: rotate(20deg); }
}

@keyframes legSwing {
  0% { transform: rotate(-15deg); }
  100% { transform: rotate(15deg); }
}

.bear {
  animation: run 1s infinite linear;
}

@keyframes run {
  0% { transform: translateX(0); }
  100% { transform: translateX(50px); }
}

效果增强技巧

为让奔跑效果更真实,可以添加以下改进:

.body {
  animation: bodyBounce 0.5s infinite alternate;
}

@keyframes bodyBounce {
  0% { transform: translateY(0); }
  100% { transform: translateY(5px); }
}

.head {
  animation: headBob 0.5s infinite alternate;
}

@keyframes headBob {
  0% { transform: rotate(-5deg); }
  100% { transform: rotate(5deg); }
}

移动控制

添加JavaScript使熊能跟随鼠标移动:

document.addEventListener('mousemove', (e) => {
  const bear = document.querySelector('.bear');
  const mouseX = e.clientX;
  const direction = mouseX > window.innerWidth/2 ? 1 : -1;
  bear.style.transform = `scaleX(${direction}) translateX(${mouseX/10}px)`;
});

注意事项

  • 调整动画时间和幅度可获得不同速度的奔跑效果
  • 添加阴影和渐变可增强立体感
  • 响应式设计需考虑不同屏幕尺寸的适配
  • 兼容性处理需添加浏览器前缀如-webkit-

标签: 白熊css
分享给朋友:

相关文章

css网页制作教程

css网页制作教程

CSS网页制作教程 CSS(层叠样式表)是用于控制网页外观和布局的核心技术。以下是CSS网页制作的关键步骤和技巧: 基础语法与引入方式 CSS规则由选择器和声明块组成: 选择器 { 属性: 值…

css二级菜单制作

css二级菜单制作

使用纯CSS实现二级菜单 通过嵌套HTML结构和CSS选择器实现二级菜单的显示与隐藏效果。以下是一个基础实现方案: HTML结构: <ul class="menu"> <li…

空间css制作

空间css制作

空间 CSS 制作方法 使用 margin 和 padding 控制间距 通过调整 margin(外边距)和 padding(内边距)属性,可以控制元素之间的空间。例如: .element {…

css制作角标

css制作角标

使用伪元素创建角标 通过CSS的伪元素(如::before或::after)可以轻松实现角标效果。以下是一个示例代码: .element { position: relative; disp…

css制作滑动页面

css制作滑动页面

使用CSS实现滑动页面 通过CSS可以实现多种滑动页面效果,包括横向滑动、纵向滑动以及视差滚动等。以下是几种常见的实现方法: 横向滑动效果 横向滑动通常用于展示一组卡片或图片,可以通过CSS的ove…

css下拉框制作

css下拉框制作

使用原生HTML和CSS制作下拉框 HTML的<select>元素结合CSS可以创建基础下拉框: <select class="custom-dropdown"> <…