当前位置:首页 > CSS

css雪花制作教程

2026-01-28 18:35:25CSS

使用纯CSS制作雪花效果

通过CSS的@keyframes和伪元素可以创建动态雪花效果。以下是一个基础实现方案:

<!DOCTYPE html>
<html>
<head>
<style>
.snowflake {
  position: absolute;
  color: white;
  font-size: 1em;
  animation: fall linear infinite;
}

@keyframes fall {
  to {
    transform: translateY(100vh);
  }
}
</style>
</head>
<body>
<div class="snowflake">❄</div>
</body>
</html>

添加随机化效果

通过CSS变量和JavaScript增强随机性:

css雪花制作教程

.snowflake {
  --x-pos: 0;
  --fall-duration: 10s;
  --delay: 0s;
  left: calc(var(--x-pos) * 1vw);
  animation: fall var(--fall-duration) var(--delay) linear infinite;
}

@keyframes fall {
  0% {
    transform: translateY(-10vh) rotate(0deg);
  }
  100% {
    transform: translateY(110vh) rotate(360deg);
  }
}
function createSnowflakes() {
  const count = 50;
  for (let i = 0; i < count; i++) {
    const flake = document.createElement('div');
    flake.className = 'snowflake';
    flake.innerHTML = '❄';
    flake.style.setProperty('--x-pos', Math.random());
    flake.style.setProperty('--fall-duration', 5 + Math.random() * 10 + 's');
    flake.style.setProperty('--delay', Math.random() * 5 + 's');
    flake.style.fontSize = Math.random() * 10 + 5 + 'px';
    document.body.appendChild(flake);
  }
}

优化性能的版本

使用will-changetransform提升渲染性能:

css雪花制作教程

.snowflake {
  will-change: transform;
  pointer-events: none;
  position: fixed;
  top: -10%;
  z-index: 9999;
}

多种雪花形状

通过伪元素创建不同形状:

.snowflake::before {
  content: '❄';
}
.snowflake:nth-child(2n)::before {
  content: '✦';
}
.snowflake:nth-child(3n)::before {
  content: '❉';
}

响应式调整

根据窗口大小调整雪花数量:

window.addEventListener('resize', () => {
  const flakes = document.querySelectorAll('.snowflake');
  const targetCount = Math.floor(window.innerWidth / 20);
  if (flakes.length < targetCount) {
    createSnowflakes(targetCount - flakes.length);
  }
});

分享给朋友:

相关文章

css横线制作教程

css横线制作教程

使用 border 属性制作横线 通过设置元素的 border-top 或 border-bottom 属性可以快速生成横线。例如: .hr-border { border-top: 1px s…

前端css制作教程

前端css制作教程

CSS 基础概念 CSS(层叠样式表)用于控制网页的视觉呈现,包括布局、颜色、字体等。通过选择器和属性定义样式规则。 引入 CSS 的三种方式 内联样式:直接在 HTML 标签中使用 style…

css制作雪花

css制作雪花

使用CSS制作雪花效果 通过CSS的伪元素、动画和变换属性可以创建动态雪花效果。以下是几种实现方法: 基础雪花形状 使用伪元素和旋转创建六边形雪花: .snowflake { width: 1…

css横线制作教程

css横线制作教程

使用 border 属性制作横线 通过 border 属性可以快速创建横线。设置元素的 border-top 或 border-bottom 为所需样式,调整颜色、粗细和样式即可。 .horizon…

纯css雪花制作

纯css雪花制作

纯CSS雪花制作方法 使用CSS的伪元素和动画属性可以创建出逼真的雪花效果。以下是一种常见的实现方式: 基础雪花结构 在HTML中创建一个容器元素,雪花将通过CSS伪元素生成: <div c…

css继承制作教程

css继承制作教程

CSS继承的基本概念 CSS继承是指某些CSS属性能够自动从父元素传递到子元素。例如,设置body的字体颜色为黑色,所有子元素默认会继承该颜色,除非显式覆盖。理解继承机制可以简化样式表的编写。 可继…