当前位置:首页 > CSS

css制作鞭炮

2026-01-28 00:33:04CSS

css制作鞭炮

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表格制作表格

CSS 表格制作方法 使用 CSS 创建表格可以通过多种方式实现,包括原生 HTML 表格元素结合 CSS 样式,或者使用纯 CSS 布局技术(如 Flexbox 或 Grid)模拟表格效果。以下是常…

淘宝css导航栏制作

淘宝css导航栏制作

淘宝CSS导航栏制作方法 使用HTML和CSS可以轻松制作类似淘宝的导航栏。以下是一个常见的实现方式: HTML结构 <div class="nav-container"> <…

纯css制作tab菜单

纯css制作tab菜单

纯CSS制作Tab菜单的方法 使用radio input控制切换 通过<input type="radio">和<label>元素配合实现无JavaScript的Tab切换效果…

css如何制作三角形

css如何制作三角形

使用 border 属性制作三角形 通过设置元素的 border 属性,利用边框的透明特性可以创建三角形。将一个元素的宽度和高度设为 0,然后通过设置不同方向的边框宽度和颜色来实现。 .triang…

css制作春季踏青

css制作春季踏青

使用CSS制作春季踏青主题效果 背景设计 通过渐变背景模拟春日天空,使用柔和的色调如浅蓝、淡绿和粉色。可以添加云朵或小鸟的剪影作为装饰元素。 body { background: linear-…

css 制作输入框

css 制作输入框

基础输入框样式 使用 input 或 textarea 元素创建输入框,通过 CSS 设置边框、圆角、内边距和背景色: .input-basic { border: 1px solid #ccc…