当前位置:首页 > JavaScript

js css实现冰墩墩

2026-03-01 23:00:56JavaScript

以下是通过JavaScript和CSS实现冰墩墩效果的方法,结合动画和样式设计:

基础HTML结构

<div class="bing-dwen-dwen">
  <div class="face"></div>
  <div class="body"></div>
  <div class="eyes"></div>
  <div class="mouth"></div>
</div>

CSS样式设计

.bing-dwen-dwen {
  position: relative;
  width: 200px;
  height: 220px;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0 10px 25px rgba(0,0,0,0.2);
}

.face {
  position: absolute;
  width: 180px;
  height: 160px;
  background: linear-gradient(135deg, #a5def1 0%, #e0f7fa 100%);
  border-radius: 50%;
  top: 20px;
  left: 10px;
}

.body {
  position: absolute;
  width: 150px;
  height: 180px;
  background-color: #fff;
  border-radius: 50%;
  bottom: 0;
  left: 25px;
}

.eyes {
  position: absolute;
  width: 30px;
  height: 40px;
  background-color: #333;
  border-radius: 50%;
  top: 70px;
  left: 50px;
}

.eyes::after {
  content: '';
  position: absolute;
  width: 30px;
  height: 40px;
  background-color: #333;
  border-radius: 50%;
  left: 70px;
}

.mouth {
  position: absolute;
  width: 40px;
  height: 10px;
  background-color: #ff6b6b;
  border-radius: 10px;
  top: 120px;
  left: 80px;
}

JavaScript动画实现

// 眨眼动画
const eyes = document.querySelector('.eyes');
setInterval(() => {
  eyes.style.height = '5px';
  setTimeout(() => {
    eyes.style.height = '40px';
  }, 200);
}, 3000);

// 左右摇摆动画
const bingDwenDwen = document.querySelector('.bing-dwen-dwen');
let angle = 0;
setInterval(() => {
  angle = angle > 10 ? -10 : 10;
  bingDwenDwen.style.transform = `rotate(${angle}deg)`;
}, 500);

进阶效果增强

添加彩虹光晕效果:

.bing-dwen-dwen::before {
  content: '';
  position: absolute;
  width: 220px;
  height: 240px;
  border-radius: 50%;
  background: linear-gradient(45deg, 
    #ff0000, #ff7f00, #ffff00, #00ff00, 
    #0000ff, #4b0082, #9400d3);
  z-index: -1;
  opacity: 0.3;
  filter: blur(10px);
  animation: rainbow 3s linear infinite;
}

@keyframes rainbow {
  0% { filter: hue-rotate(0deg); }
  100% { filter: hue-rotate(360deg); }
}

响应式调整

通过JavaScript动态调整大小:

function resizeBingDwenDwen() {
  const container = document.querySelector('.bing-dwen-dwen');
  const size = Math.min(window.innerWidth, window.innerHeight) * 0.5;
  container.style.width = `${size}px`;
  container.style.height = `${size * 1.1}px`;
}

window.addEventListener('resize', resizeBingDwenDwen);
resizeBingDwenDwen();

以上代码组合可以创建一个具有基本特征和动画效果的冰墩墩形象,通过CSS控制外观样式,JavaScript实现动态交互效果。

js css实现冰墩墩

标签: jscss
分享给朋友:

相关文章

css制作时钟

css制作时钟

CSS 制作时钟的方法 使用纯 CSS 和少量 JavaScript 可以制作一个动态时钟。以下是实现步骤: HTML 结构 <div class="clock"> <div…

js实现验证码

js实现验证码

实现验证码的JavaScript方法 生成随机验证码 使用Math.random()生成随机字符串,结合数字和字母: function generateCaptcha() { const cha…

js实现vue路由

js实现vue路由

Vue路由基础实现 使用Vue Router实现前端路由需要先安装并配置路由库。Vue Router是Vue.js官方的路由管理器。 安装Vue Router: npm install vue-r…

css 制作目录

css 制作目录

CSS 制作目录的方法 使用 CSS 可以轻松为网页内容创建美观且功能性的目录。以下是几种常见方法: 使用 ul 和 li 创建基础目录结构 <div class="toc"> &…

css怎么制作时钟

css怎么制作时钟

使用CSS制作时钟 通过CSS和少量JavaScript可以创建一个动态时钟。以下是实现方法: HTML结构 <div class="clock"> <div cla…

css图形制作

css图形制作

CSS 图形制作方法 使用 CSS 可以创建各种基本和复杂的图形,主要通过 border、transform、clip-path 等属性实现。以下是几种常见图形的实现方式: 三角形 通过设置元素的…