当前位置:首页 > CSS

css制作web天气

2026-03-12 01:16:43CSS

使用CSS制作Web天气效果

通过CSS可以模拟多种天气效果,如晴天、雨天、雪天等。以下是一些常见天气效果的实现方法。

晴天效果

创建太阳和云朵的简单动画效果:

.sun {
  width: 100px;
  height: 100px;
  background: radial-gradient(circle, #ffde00 30%, #ff8c00 70%);
  border-radius: 50%;
  position: absolute;
  top: 50px;
  left: 100px;
  box-shadow: 0 0 50px #ffde00;
  animation: shine 3s infinite alternate;
}

@keyframes shine {
  from { box-shadow: 0 0 50px #ffde00; }
  to { box-shadow: 0 0 70px #ffde00; }
}

雨天效果

使用伪元素创建雨滴下落动画:

css制作web天气

.rain {
  position: relative;
  height: 200px;
  overflow: hidden;
}

.rain:after {
  content: "";
  position: absolute;
  width: 2px;
  height: 10px;
  background: rgba(174, 194, 224, 0.5);
  animation: rain 1s linear infinite;
}

@keyframes rain {
  0% { transform: translateY(-50px) rotate(15deg); opacity: 1; }
  100% { transform: translateY(200px) rotate(15deg); opacity: 0; }
}

雪天效果

创建雪花飘落效果:

.snow {
  position: relative;
  height: 300px;
  overflow: hidden;
}

.snowflake {
  position: absolute;
  width: 10px;
  height: 10px;
  background: white;
  border-radius: 50%;
  filter: blur(1px);
  animation: snowfall linear infinite;
}

@keyframes snowfall {
  0% { transform: translateY(-10px) translateX(0); }
  100% { transform: translateY(300px) translateX(50px); }
}

多云效果

创建移动的云朵:

css制作web天气

.cloud {
  width: 150px;
  height: 60px;
  background: #f5f5f5;
  border-radius: 50px;
  position: absolute;
  animation: moveCloud 20s linear infinite;
}

.cloud:before, .cloud:after {
  content: "";
  position: absolute;
  background: #f5f5f5;
  border-radius: 50%;
}

.cloud:before {
  width: 50px;
  height: 50px;
  top: -25px;
  left: 25px;
}

.cloud:after {
  width: 30px;
  height: 30px;
  top: -15px;
  right: 20px;
}

@keyframes moveCloud {
  from { left: -150px; }
  to { left: 100%; }
}

雷电效果

添加闪电动画:

.lightning {
  position: absolute;
  width: 3px;
  height: 50px;
  background: yellow;
  opacity: 0;
  animation: lightning 5s infinite;
}

@keyframes lightning {
  0% { opacity: 0; }
  1% { opacity: 1; }
  2% { opacity: 0; }
  8% { opacity: 0; }
  9% { opacity: 1; }
  10% { opacity: 0; }
  100% { opacity: 0; }
}

组合使用

这些效果可以组合使用,通过添加不同的类名来切换天气效果:

<div class="weather-container">
  <div class="sun"></div>
  <div class="cloud"></div>
  <div class="rain"></div>
</div>

通过调整CSS属性和动画参数,可以创建更加逼真的天气效果。对于更复杂的场景,可以考虑使用CSS预处理器如Sass或Less来管理样式。

标签: 天气css
分享给朋友:

相关文章

css制作下拉菜单

css制作下拉菜单

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

css熊猫制作

css熊猫制作

使用CSS绘制熊猫的步骤 创建一个熊猫的CSS图形需要利用CSS的border-radius、box-shadow等属性来构建圆形和椭圆形元素。以下是实现方法: HTML结构 <di…

css制作菜单

css制作菜单

CSS 制作菜单的方法 使用 CSS 可以制作多种风格的菜单,包括水平菜单、垂直菜单、下拉菜单等。以下是几种常见的实现方式。 水平菜单 水平菜单通常用于导航栏,可以通过 display: inlin…

css字体制作

css字体制作

使用 @font-face 自定义字体 通过 @font-face 规则引入自定义字体文件(如 .woff, .woff2, .ttf)。需定义字体名称和文件路径: @font-face {…

css制作二级菜单

css制作二级菜单

CSS制作二级菜单的方法 通过纯CSS实现二级菜单主要依赖HTML结构嵌套和CSS的:hover伪类选择器。以下是具体实现方式: HTML结构 <ul class="main-menu"&g…

css 制作目录

css 制作目录

使用CSS制作目录的方法 CSS可以用于创建美观且结构清晰的目录,以下是几种常见的方法: 使用无序列表(ul)和样式化 通过无序列表创建目录结构,再利用CSS进行美化: <div c…