当前位置:首页 > 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动态调整大小:

js css实现冰墩墩

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实现动态交互效果。

标签: jscss
分享给朋友:

相关文章

css制作菜单

css制作菜单

水平菜单制作 使用display: inline-block或flexbox布局创建水平菜单。设置list-style: none移除默认列表样式,添加padding和margin调整间距。 <…

css文件怎么制作

css文件怎么制作

创建CSS文件的基本步骤 CSS文件用于定义网页的样式,可以与HTML文件分离,便于管理和维护。以下是创建CSS文件的方法: 新建文本文件 使用任意文本编辑器(如Notepad++、VS Code、…

css怎么制作表单

css怎么制作表单

基础表单结构 使用HTML创建表单元素,搭配CSS进行样式设计。表单通常包含<form>标签及输入控件(如<input>、<textarea>、<select…

css制作旋转

css制作旋转

CSS旋转的实现方法 CSS提供了多种方式实现元素的旋转效果,主要通过transform属性配合旋转函数完成。以下是常见的旋转实现方式: 使用rotate()函数 transform: rotate…

js实现继承

js实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js实现图片轮播

js实现图片轮播

实现基础图片轮播 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS设置样式和动画效果,JavaScript处理轮播逻辑。 <div cl…