当前位置:首页 > 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制作导航栏

水平导航栏 使用 display: inline-block 或 flexbox 创建水平导航栏。设置背景色、内边距和悬停效果增强交互性。 <nav class="horizontal-nav…

css按钮制作

css按钮制作

基础按钮样式 使用CSS创建基础按钮需要定义padding、background-color、border和border-radius等属性。以下是一个简单的按钮样式示例: .button {…

用css制作导航条

用css制作导航条

水平导航条制作 使用display: inline-block或flexbox实现水平导航 为<ul>和<li>设置样式消除默认列表样式 添加padding和margin控制间…

css制作goole

css制作goole

使用CSS制作Google标志 Google标志由多彩的字母和简洁的字体组成,可以通过CSS的字体属性、颜色渐变和布局来实现。 字体选择 Google标志使用自定义字体"Product Sans",…

css网页制作

css网页制作

CSS 网页制作基础 CSS(层叠样式表)用于控制网页的视觉呈现,包括布局、颜色、字体等。以下为关键知识点和实用方法: 基本语法结构 CSS 规则由选择器和声明块组成: 选择器 { 属性: 值…

css制作表格

css制作表格

CSS 制作表格的方法 使用 CSS 可以灵活地创建和样式化表格,以下是几种常见的方法: 使用 HTML 表格标签结合 CSS 样式 通过 HTML 的 <table>、<tr&g…