当前位置:首页 > CSS

css制作鞭炮

2026-02-12 19:00:45CSS

CSS 制作鞭炮效果

使用CSS可以创建动态的鞭炮效果,主要通过动画和伪元素实现。以下是实现步骤:

HTML结构

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

CSS样式

css制作鞭炮

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

.firecracker::before {
  content: "";
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 15px;
  height: 15px;
  background: #ffff00;
  border-radius: 50%;
}

.firecracker::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 30px;
  height: 10px;
  background: #333;
  border-radius: 0 0 5px 5px;
}

爆炸动画效果

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

.firecracker:hover::before {
  animation: explode 0.5s ease-out forwards;
}

.spark {
  position: absolute;
  width: 3px;
  height: 3px;
  background: #ffcc00;
  border-radius: 50%;
  animation: sparkle 1s ease-out forwards;
}

@keyframes sparkle {
  0% {
    transform: translate(0, 0);
    opacity: 1;
  }
  100% {
    transform: translate(
      calc(var(--x) * 20px), 
      calc(var(--y) * 20px)
    );
    opacity: 0;
  }
}

JavaScript添加火花

css制作鞭炮

document.querySelector('.firecracker').addEventListener('mouseover', function() {
  for(let i=0; i<20; i++) {
    const spark = document.createElement('div');
    spark.classList.add('spark');
    spark.style.setProperty('--x', Math.random() * 2 - 1);
    spark.style.setProperty('--y', Math.random() * -3);
    spark.style.left = '50%';
    spark.style.top = '-10px';
    this.appendChild(spark);

    setTimeout(() => {
      spark.remove();
    }, 1000);
  }
});

增强视觉效果

添加爆炸音效

<audio id="explosion" src="explosion.mp3" preload="auto"></audio>
document.querySelector('.firecracker').addEventListener('mouseover', function() {
  document.getElementById('explosion').play();
  // 火花生成代码...
});

多鞭炮排列

.firecracker-container {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  width: 80%;
  margin: 0 auto;
}

.firecracker {
  margin: 20px;
}

响应式调整

移动端适配

@media (max-width: 600px) {
  .firecracker {
    width: 15px;
    height: 70px;
  }

  .firecracker::before {
    width: 12px;
    height: 12px;
  }
}

通过以上CSS和少量JavaScript,可以创建出具有悬停爆炸效果的鞭炮动画。可根据需要调整颜色、尺寸和动画参数以获得不同视觉效果。

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

相关文章

css制作按钮

css制作按钮

基础按钮样式 创建一个基础的CSS按钮样式,可以通过以下代码实现。这个例子包含了按钮的基本属性,如背景色、边框、内边距和文字样式。 .button { background-color: #4C…

css制作下拉菜单

css制作下拉菜单

CSS 制作下拉菜单的方法 使用纯 CSS 可以创建简单的下拉菜单效果,主要依赖 :hover 伪类和 display 属性控制子菜单的显示与隐藏。 基础 HTML 结构 <div class…

css制作固定模板

css制作固定模板

使用CSS创建固定模板的方法 固定模板通常指页面布局中某些元素(如导航栏、页脚)位置固定,不随滚动条移动。以下是几种实现方式: 固定定位(Fixed Positioning) 通过position:…

css制作卷边效果

css制作卷边效果

使用伪元素和渐变实现卷边效果 通过CSS伪元素和线性渐变可以模拟纸张卷边的视觉效果。这种方法不需要额外元素,仅通过::before或::after伪元素实现。 .element { positi…

div css制作

div css制作

使用 DIV 和 CSS 制作网页布局 DIV 是 HTML 中的块级元素,结合 CSS 可以灵活地创建各种网页布局。以下是常见的使用方法: 基础 DIV 结构 <div class="con…

css制作

css制作

CSS 基础语法 CSS(层叠样式表)用于描述HTML元素的样式。一个基本的CSS规则由选择器和声明块组成。选择器指定要样式化的HTML元素,声明块包含一个或多个属性-值对,用花括号 {} 包裹。…