当前位置:首页 > CSS

css制作web天气

2026-04-01 21:25:25CSS

使用CSS制作Web天气效果

通过CSS可以创建动态的天气效果,如晴天、雨天、雪天等。以下是几种常见天气效果的实现方法。

晴天效果

创建一个太阳和云朵的简单组合,使用CSS动画让太阳旋转。

<div class="weather sunny">
  <div class="sun"></div>
  <div class="cloud"></div>
</div>
.weather {
  width: 200px;
  height: 200px;
  position: relative;
  background: skyblue;
}

.sun {
  width: 50px;
  height: 50px;
  background: yellow;
  border-radius: 50%;
  position: absolute;
  top: 20px;
  left: 20px;
  animation: rotate 5s linear infinite;
}

.cloud {
  width: 80px;
  height: 30px;
  background: white;
  border-radius: 20px;
  position: absolute;
  top: 50px;
  left: 60px;
}

@keyframes rotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

雨天效果

使用伪元素和动画模拟雨滴下落。

<div class="weather rainy">
  <div class="cloud"></div>
</div>
.rainy {
  background: darkgray;
}

.rainy .cloud {
  width: 100px;
  height: 40px;
  background: white;
  border-radius: 20px;
  position: absolute;
  top: 30px;
  left: 50px;
}

.rainy .cloud::after {
  content: '';
  position: absolute;
  width: 2px;
  height: 10px;
  background: lightblue;
  top: 40px;
  left: 10px;
  animation: rain 1s linear infinite;
}

@keyframes rain {
  from { transform: translateY(0); }
  to { transform: translateY(50px); }
}

雪天效果

使用多个动画元素模拟雪花飘落。

<div class="weather snowy">
  <div class="cloud"></div>
</div>
.snowy {
  background: lightgray;
}

.snowy .cloud {
  width: 100px;
  height: 40px;
  background: white;
  border-radius: 20px;
  position: absolute;
  top: 30px;
  left: 50px;
}

.snowy .cloud::after {
  content: '❄';
  position: absolute;
  font-size: 10px;
  top: 40px;
  left: 10px;
  animation: snow 3s linear infinite;
}

@keyframes snow {
  from { transform: translateY(0) rotate(0deg); }
  to { transform: translateY(50px) rotate(360deg); }
}

动态切换天气

通过JavaScript动态切换天气效果。

css制作web天气

<div class="weather" id="weather">
  <div class="sun"></div>
  <div class="cloud"></div>
</div>
<button onclick="changeWeather('sunny')">Sunny</button>
<button onclick="changeWeather('rainy')">Rainy</button>
<button onclick="changeWeather('snowy')">Snowy</button>
function changeWeather(type) {
  const weather = document.getElementById('weather');
  weather.className = 'weather ' + type;
}

以上方法展示了如何使用CSS和少量JavaScript创建动态的天气效果。可以根据需求进一步调整样式和动画参数。

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

相关文章

css菜单制作

css菜单制作

基础水平菜单制作 使用无序列表<ul>和<li>标签构建结构,CSS设置横向排列: <ul class="horizontal-menu"> <li&g…

css样式制作

css样式制作

CSS 样式制作基础 CSS(层叠样式表)用于控制网页的视觉呈现。通过选择器和属性组合,可以精确调整元素的布局、颜色、字体等样式。 选择器类型 元素选择器:p { color: red; } 选中…

css导航条制作

css导航条制作

基础导航条制作 使用HTML的无序列表<ul>和CSS的display: flex属性可以快速创建横向导航条。HTML结构通常包含导航链接列表,CSS负责样式和布局。 <nav&g…

css制作滑动页面

css制作滑动页面

使用CSS实现滑动页面 通过CSS可以实现多种滑动页面效果,包括横向滑动、纵向滑动以及视差滚动等。以下是几种常见的实现方法: 横向滑动效果 横向滑动通常用于展示一组卡片或图片,可以通过CSS的ove…

css制作固定模板

css制作固定模板

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

css制作tkd

css制作tkd

CSS 制作 TKD(Title, Keywords, Description) TKD(Title, Keywords, Description)是网页 SEO 优化的核心元素,通常通过 HTML…