纯css写一个大太阳的天气图标的方法示例

下面是“纯css写一个大太阳的天气图标的方法示例”的完整攻略:

一、准备工作

在开始之前,你需要先准备好以下内容:

  1. 一个文本编辑器,如VSCode或Sublime Text。
  2. 一个支持CSS3的浏览器,如Google Chrome、Firefox等。
  3. 一个基本的HTML文件,用于容纳并展示该图标。

二、开始制作

1. 设置基本样式

在HTML文件中,我们首先需要创建一个容器,并对该容器设置一些基本样式,为后续的制作打下基础:

<div class="weather-icon sunny">
  <div class="sun"></div>
</div>
.weather-icon {
  width: 120px;  /* 设置容器宽度 */
  height: 120px; /* 设置容器高度 */
  position: relative; /* 设置相对定位,方便后续用于定位元素 */
}

.sunny .sun {
  position: absolute; /* 设置绝对定位 */
  top: 15px; /* 上部间距 */
  left: 15px; /* 左侧间距 */
  width: 90px; /* 太阳宽度 */
  height: 90px; /* 太阳高度 */
  border-radius: 50%; /* 圆形 */
  border: 15px solid #fff; /* 白色边框 */
  box-shadow: 0 0 0 15px #FDB813, 0 0 0 20px #FFD948; /* 黄色和淡黄色渐变外阴影 */
}

2. 制作太阳

接下来,我们需要使用CSS3中的“box-shadow”属性来制作太阳的光芒:

.box {
  box-shadow: 0 0 0 15px #FDB813, 0 0 0 20px #FFD948;
}

这里采用了两个不同大小和不同颜色的色块,借助较大的色块制造出了“内敛”的效果。同时,由于圆形元素设置为了有白色边框的圆形,因此box-shadow属性的实际表现效果是在边框之外,形成一个“光晕”效果。

3. 完成图标

通过以上的制作方法,我们就成功地用纯CSS制作出了一个非常不错的大太阳天气图标。你可以在HTML文件中引用这段CSS样式代码,然后将相应的元素以及类名引用到你的页面中,即可直接使用。

三、示例说明

示例1:制作多个太阳并附带动画效果

为了让这个图标变得更加有趣和生动,我们可以为其添加一些CSS3动画效果,比如先前提到的旋转、变形等效果。例如下面这个示例,制作了多个太阳,并在其上基于CSS3的动画效果加以装饰:

<div class="weather-icons">
  <div class="sun-icon">
    <div class="sun"></div>
    <div class="rays"></div>
  </div>
  <div class="sun-icon">
    <div class="sun"></div>
    <div class="rays"></div>
  </div>
  <div class="sun-icon">
    <div class="sun"></div>
    <div class="rays"></div>
  </div>
</div>
.weather-icons {
  display: flex; /* 设置为flex布局 */
  justify-content: center; /* 水平居中 */
}

.sun-icon {
  position: relative;
  width: 120px; /* 宽高大小相同 */
  height: 120px;
  margin: 20px; /* 设置间隔 */
  animation: 3s linear infinite rotate; /* 添加动画效果 */
}

.sun {
  position: absolute;
  top: 15px;
  left: 15px;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  border: 15px solid #fff;
  box-shadow: 0 0 0 15px #FDB813, 0 0 0 20px #FFD948;
}

.rays {
  position: absolute;
  top: 15px;
  left: 15px;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  border: 10px solid transparent;
  border-top: 10px solid #FFD948;
  box-shadow: 0 0 0 10px #FDB813;
  opacity: 0.5;
  animation: 3s linear infinite transform;
}

@keyframes rotate {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes transform {
  0% {
    transform: scale(0.3);
    opacity: 0.3;
  }
  50% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    transform: scale(0.3);
    opacity: 0.3;
  }
}

在这个示例中,我们添加了一个名为“weather-icon”的容器,里面包含了多个名为“sun-icon”的套件,核心是用CSS3光顾到制作出的太阳及其辐射。这里的关键是用了CSS3的“rotate”和“transform”等动画属性,在做动画时用“@keyframes”语法定义属性变化,实现旋转以及太阳光芒的大小变化等效果。

示例2:根据不同天气类型制作背景不同的图标

这个示例中,我们通过一些简单的CSS样式规则判断天气类型,并根据不同的天气类型给图标设置不同的背景、阴影等效果。

<div class="weather-icon sunny">
  <div class="sun"></div>
</div>
.weather-icon {
  width: 150px;
  height: 150px;
  position: relative;
}

.sunny .sun {
  position: absolute;
  top: 30px;
  left: 50px;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  border: 20px solid #fff;
  box-shadow: 0 0 0 20px #FDB813, 0 0 0 25px #FFD948;
}

.cloudy .cloud {
  position: absolute;
  top: 30px;
  left: 30px;
  width: 90px;
  height: 60px;
  border-radius: 50%;
  border: 20px solid white;
  box-shadow: 0 0 0 20px white inset;
}

.rainy .cloud {
  position: absolute;
  top: 35px;
  left: 45px;
  width: 90px;
  height: 60px;
  border-radius: 50%;
  border: 20px solid white;
  box-shadow: 0 0 0 20px white inset, 10px 20px 10px -10px rgba(0,0,0,.8);
}

.snowy .cloud {
  position: absolute;
  top: 45px;
  left: 45px;
  width: 80px;
  height: 60px;
  border-radius: 50%;
  border: 20px solid white;
  box-shadow: 0 0 0 20px white inset, 10px 20px 10px -10px rgba(0,0,0,.8), 20px 40px 10px -18px rgba(0,0,0,.6), -10px 75px 20px -20px rgba(0,0,0,.6);
}

.stormy .cloud {
  position: absolute;
  top: 30px;
  left: 50px;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  border: 20px solid white;
  box-shadow: 0 0 0 20px white inset, 0 0 10px white inset, -30px 20px 10px -20px black, 30px 20px 10px -20px black;
}

在这个示例中,所有图标都使用了同一类“容器”元素,className属性即代表着天气类型。“background”属性用于设置元素的背景颜色,而“box-shadow”和“border”属性则分别用于制造元素外阴影和边框的效果,从而使元素更加立体感强,更符合真实天气图片的视觉感受。注意,所有元素的宽高大小、位置以及渐变的颜色、大小等都有所不同,是为了体现出每一种天气类型的特点,突出元素的形状和素材的特点。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:纯css写一个大太阳的天气图标的方法示例 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • CSS教程:css属性之媒体(Media)类型

    让我们开始讲解“CSS教程: CSS属性之媒体类型”。 什么是媒体类型? 媒体类型是指应用 CSS 样式规则的设备或媒介类型。我们可以使用媒体查询(Media Query)指定不同设备或媒介类型的样式规则,以实现响应式设计。 媒体类型的类型 以下是常见的媒体类型: all:所有设备,包括打印机和屏幕。 print:打印机。 screen:电脑屏幕、平板和智能…

    css 2023年6月10日
    00
  • jQuery实现天猫商品放大镜效果

    一、准备工作 引入jQuery库和相关CSS样式文件 在head标签中引入jQuery库jquery.min.js和放大镜样式文件zoom.css。 <head> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js">&…

    css 2023年6月11日
    00
  • 基于Vue实现平滑过渡的拖拽排序功能

    下面是关于“基于Vue实现平滑过渡的拖拽排序功能”的完整攻略。 一、实现思路 本文介绍的是基于Vue实现拖拽排序功能,其主要思路包括以下几个步骤: 使用Vue.js框架搭建页面框架,引入相关依赖包; 定义一个数据源用于存储待排序的数据; 在页面中渲染数据源,并为每一个元素添加拖拽事件; 对于每一个元素,当其开始拖拽时,记录其位置数据,并设置可拖拽样式; 当元…

    css 2023年6月10日
    00
  • jQuery 打造动态渐变按钮 详细图文教程

    jQuery打造动态渐变按钮详细图文教程 简介 本教程将带您详细了解如何使用jQuery和CSS打造一个动态渐变按钮。该按钮拥有鼠标悬停、点击等交互效果,并且可以自定义按钮的颜色和渐变方式。 准备工作 在开始之前,请确保您已经了解了以下知识: HTML / CSS 基础 JavaScript / jQuery 基础 了解如何使用CSS3渐变 HTML结构 首…

    css 2023年6月9日
    00
  • react的滑动图片验证码组件的示例代码

    下面就为大家讲解一下“react的滑动图片验证码组件的示例代码”的完整攻略。 1. 引入组件 首先,我们需要安装并引入react滑动图片验证码组件。在命令行中执行以下代码安装: npm install –save react-slide-captcha 在需要使用的页面中引入组件: import SlideCaptcha from ‘react-slide…

    css 2023年6月10日
    00
  • 一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子

    下面是一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子的完整攻略。 介绍 随着Web技术的发展,Javascript在Web前端开发中扮演着越来越重要的角色。然而,不同的浏览器(如IE和Firefox等)对Javascript的支持程度不同,会导致一些兼容性问题。本攻略总结了一些常见的Javascript的IE和Firefox…

    css 2023年6月10日
    00
  • jquery实现不同大小浏览器使用不同的css样式表的方法

    jQuery是JavaScript库之一,其提供了灵活的方法来帮助我们解决浏览器兼容性问题。如果我们要根据不同大小的浏览器使用不同的css样式表,可以按照以下步骤通过jQuery实现。 创建两个不同的CSS样式表创建两个不同的CSS样式表,一个用于大屏幕(例如:电脑端),另一个用于小屏幕(例如:手机端)。这里我们创建两个CSS样式表,并将它们分别命名为lar…

    css 2023年6月9日
    00
  • 该不该使用ID选择器?浅谈对CSS的ID选择器的使用建议

    我来为大家详细讲解一下“该不该使用ID选择器?浅谈对CSS的ID选择器的使用建议”。 什么是ID选择器? ID选择器是CSS选择器的一种,用于选取具有特定ID属性的HTML元素。 在CSS中,我们使用#符号+ID名称的形式来表示ID选择器,例如:#header表示选取ID为header的HTML元素。 ID选择器的优缺点 优点: 精准度高:ID选择器的优点在…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部