当前位置:首页 > CSS

css制作鞭炮

2026-01-28 00:33:04CSS

使用CSS制作鞭炮效果

通过CSS的动画和伪元素可以模拟鞭炮的爆炸效果。以下是实现方法:

css制作鞭炮

鞭炮主体

.firecracker {
  position: relative;
  width: 20px;
  height: 80px;
  background: linear-gradient(to bottom, #c00, #900);
  margin: 50px auto;
  border-radius: 5px;
}

引线部分

.firecracker::before {
  content: '';
  position: absolute;
  top: -10px;
  left: 50%;
  width: 4px;
  height: 15px;
  background: #333;
  transform: translateX(-50%);
}

爆炸效果

.explosion {
  position: absolute;
  width: 5px;
  height: 5px;
  background: #ff0;
  border-radius: 50%;
  animation: explode 0.5s ease-out forwards;
}

@keyframes explode {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    transform: scale(20);
    opacity: 0;
  }
}

火花粒子

.spark {
  position: absolute;
  width: 2px;
  height: 2px;
  background: #f90;
  border-radius: 50%;
  animation: 
    sparkMove 1s linear forwards,
    sparkFade 1s linear forwards;
}

@keyframes sparkMove {
  100% {
    transform: translate(var(--tx), var(--ty));
  }
}

@keyframes sparkFade {
  100% {
    opacity: 0;
  }
}

JavaScript触发动画

document.querySelector('.firecracker').addEventListener('click', function() {
  // 创建爆炸中心
  const explosion = document.createElement('div');
  explosion.className = 'explosion';
  this.appendChild(explosion);

  // 创建火花粒子
  for(let i=0; i<20; i++) {
    const spark = document.createElement('div');
    spark.className = 'spark';
    spark.style.setProperty('--tx', `${Math.random()*100-50}px`);
    spark.style.setProperty('--ty', `${Math.random()*100-50}px`);
    this.appendChild(spark);
  }

  setTimeout(() => {
    explosion.remove();
    document.querySelectorAll('.spark').forEach(s => s.remove());
  }, 1000);
});

完整HTML结构

<div class="firecracker"></div>

这个实现包含了一个垂直的鞭炮主体、顶部的引线,点击后会触发爆炸动画,产生中心爆炸效果和随机方向的火花粒子。动画结束后所有效果元素会自动移除,可以重复触发。

标签: 鞭炮css
分享给朋友:

相关文章

css制作菜单

css制作菜单

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

css制作表单

css制作表单

使用CSS制作表单的基本方法 创建一个美观且功能完善的表单需要结合HTML结构和CSS样式。以下是关键步骤和示例代码: HTML基础结构 <form class="my-form">…

css制作六边形

css制作六边形

使用CSS创建六边形的方法 通过CSS的clip-path属性可以轻松实现六边形效果。以下是一个基础示例: .hexagon { width: 100px; height: 55px;…

旋转相册制作css

旋转相册制作css

旋转相册制作CSS 旋转相册通常通过CSS动画和3D变换实现,以下是一个完整的实现方法: 基础HTML结构 <div class="photo-album"> <div cla…

css继承制作教程

css继承制作教程

CSS继承的基本概念 CSS继承是指某些CSS属性可以从父元素传递到子元素的特性。并非所有属性都支持继承,但常见的文本相关属性(如font-family、color)默认具有继承性。通过合理利用继承,…

制作css导航栏实验

制作css导航栏实验

实验目标 通过CSS实现一个水平导航栏,包含悬停效果和响应式设计。 基本HTML结构 创建一个简单的导航栏HTML结构,使用<ul>和<li>标签组织导航项: <…