HTML5 Canvas和jQuery实时天气预报代码解析「附源码」

这是一款非常有意思的纯CSS3扁平风格天气预报卡片动画特效。该天气预报特效将各种天气制作为卡片形式,包括下雨,闪电,白天,夜间和下雪。卡片使用扁平化风格,并使用CSS3帧动画来制作各种动画效果。

制作方法

HTML结构

该特效的HTML结构采用无序列表的HTML结构,其中每一个li.card元素代表一种卡片。

  • 63 ℉

    low of 61 ℉

......

CSS样式

首先给卡片一些基本样式。

.card {

width: 18.57%;

background-color: #3c3b3d;

float: left;

margin: 0 20px 20px 0;

overflow: hidden;

}

.card:nth-child(5n) {

margin-right: 0;

}

.card .card-color {

position: relative;

width: 100%;

padding: 6.5em 1em;

display: block;

}

.card .card-color:after {

position: absolute;

content: '';

top: 0;

right: 0;

height: 100%;

width: 50%;

}

.card .card-info {

padding: 1em;

color: #808080;

text-align: center;

}

.card .card-info p {

font-size: 0.85rem;

margin-bottom: .75em;

}

.card .card-info p:first-child {

font-weight: 600;

font-size: 0.9rem;

text-transform: uppercase;

color: #fff;

}

.card .card-info p:last-child {

margin-bottom: 0;

}

对于第一种下雨效果,特效中对div.rain元素使用了rain帧动画。然后使用div.rain元素的:after伪元素来制作云彩的阴影效果,并应用rain_shadow帧动画。最后使用div.rain元素的:before伪元素来制作雨点效果,并应用rain_rain帧动画。

.rain {

animation: rain 9s ease-in-out infinite 1s;

-webkit-animation: rain 9s ease-in-out infinite 1s;

background: #CCCCCC;

border-radius: 50%;

box-shadow: #CCCCCC 65px -25px 0 -5px, #CCCCCC 25px -25px, #CCCCCC 5px 0px 0 2px, #CCCCCC 10px 0px 0 2px, #CCCCCC 15px 0px 0 2px, #CCCCCC 20px 0px 0 2px, #CCCCCC 25px 0px 0 2px, #CCCCCC 30px 0px 0 2px, #CCCCCC 35px 0px 0 2px, #CCCCCC 40px 0px 0 2px, #CCCCCC 45px 0px 0 2px, #CCCCCC 50px 0px 0 2px, #CCCCCC 55px 0px 0 2px, #CCCCCC 60px 0px 0 2px, #CCCCCC 65px 0px 0 2px, #CCCCCC 70px 0px 0 2px, #CCCCCC 75px 0px 0 2px;

display: block;

height: 50px;

width: 50px;

position: absolute;

left: 40px;

top: 80px;

}

.rain:after {

animation: rain_shadow 9s ease-in-out infinite 1s;

-webkit-animation: rain_shadow 9s ease-in-out infinite 1s;

background: #000000;

border-radius: 50%;

content: '';

height: 15px;

width: 120px;

opacity: 0.2;

position: absolute;

left: 5px;

bottom: -60px;

transform: scale(.7);

-webkit-transform: scale(.7);

}

.rain:before {

animation: rain_rain .7s infinite linear;

-webkit-animation: rain_rain .7s infinite linear;

content: '';

background: transparent;

margin-left: 0px;

border-radius: 50%;

display: block;

height: 6px;

width: 3px;

opacity: 0.3;

transform: scale(.9);

-webkit-transform: scale(.9);

}

代码下载:http://zzfriend.com/download/toutiao/tianqiyubao.rar

用Html5实现天气预报的原理,HTML5 Canvas和jQuery实时天气预报代码解析「附源码」...相关推荐

  1. 「深入源码」Spring拦截器的实现原理和执行机制

    我一直以为Spring的拦截器是基于AOP原理实现的,仔细阅读完源码,才知道自己的认知是错误的. 今天我们就从源码的角度剖析下Spring拦截器. 一.创建一个自己的拦截器 实现一个自己的拦截器,需要 ...

  2. html直播动画,HTML5 直播疯狂点赞动画实现代码 附源码

    直播有一个很重要的互动: 为了烘托直播间的氛围,直播相对于普通视频或者文本内容,点赞通常有两个特殊需求: 点赞动作无限次,引导用户疯狂点赞 直播间的所有疯狂点赞,都需要在所有用户界面都 我们先来看效果 ...

  3. 疯狂html附源码,科技常识:HTML5 直播疯狂点赞动画实现代码 附源码

    今天小编跟大家讲解下有关HTML5 直播疯狂点赞动画实现代码 附源码 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关HTML5 直播疯狂点赞动画实现代码 附源码 的相关资料,希望小伙伴们看 ...

  4. html5直播源码,HTML5 直播疯狂点赞动画实现代码 附源码

    直播有一个很重要的互动:点赞. 为了烘托直播间的氛围,直播相对于普通视频或者文本内容,点赞通常有两个特殊需求: 点赞动作无限次,引导用户疯狂点赞 直播间的所有疯狂点赞,都需要在所有用户界面都动画展现出 ...

  5. 8个前沿的 HTML5 CSS3 效果【附源码下载】

    作为一个前沿的 Web 开发者,对于 HTML5 和 CSS3 技术或多或少都有掌握.前几年这些新技术刚萌芽的时候,开发者们已经使用它们来小试牛刀了,如今这些先进技术已经遍地开发,特别是在移动端大显身 ...

  6. HTML5七夕情人节表白网页(抖音-流动爱心表白)HTML+CSS+JavaScript 求婚示爱代码 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 爱心表白网页

    HTML5七夕情人节表白网页❤抖音-流动爱心表白❤ HTML+CSS+JavaScript 求婚示爱代码 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 爱心表白网页 这是程序员表白 ...

  7. HTML5七夕情人节表白网页(流星动画3D相册) HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白

    HTML5七夕情人节表白网页❤流星动画3D相册❤ HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 抖音3D旋转相册 js烟花代码 css爱心表白 这是 ...

  8. HTML5七夕情人节表白网页(星空萤火虫) HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 抖音3D旋转相册 js烟花代码 css爱心表白

    HTML5七夕情人节表白网页(星空萤火虫) HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 抖音3D旋转相册 js烟花代码 css爱心表白 这是程序员 ...

  9. 【实战HTML5与CSS3】免费制作威客页面啦(附源码)

    [实战HTML5与CSS3]免费制作威客页面啦(附源码) 原文 http://www.cnblogs.com/yexiaochai/archive/2013/05/05/3060770.html 前言 ...

最新文章

  1. Flex容器拖动(Bordercontainer为例)
  2. 深入理解TCP/IP协议-TCP建立与终止连接
  3. 用python进行自然语言处理_Python自然语言处理示例:SVM和贝叶斯分类
  4. 魔术命令python_Python前10个魔术命令可以帮助您提高生产率
  5. 语言身高预测实验注意事项_?新预训练模型CodeBERT出世,编程语言和自然语言都不在话下...
  6. SqlPlus中退格键和方向键的设置
  7. 最土家乡话,莫过于栖霞
  8. BAT自动IP地址切换脚本
  9. 图像直方图均衡 matlab,图像直方图均衡化
  10. Redis 的key设计技巧缓存问题
  11. LODOP直接用base64码输出图片
  12. 默认关闭idea2020的注释doc的rendered view模式
  13. java制造业生产管理系统源码
  14. Java数组实现进制转换
  15. 费氏(Fibonacci)数列、最大公约数,最小公倍数
  16. 短网址dwz.cn批量注册
  17. matlab单片机仿真,51单片机proteus仿真实验设计
  18. LPCSTR,LPCTSTR,LPCWSTR的区别
  19. cesium采用primitive方式加载geojson数据
  20. ​ 斯科特·马特森​与MIMO发明者谈话节选

热门文章

  1. U3D问题总结(实时更新,建议收藏)
  2. 【ML吴恩达】1 机器学习和深度学习和AI的区别
  3. ARKit__2_尺子项目
  4. CCD/CMOS的成像原理(内含rgb元件如何分布)
  5. 尚硅谷周阳老师Docker笔记
  6. MySQL基础 - 表达式和函数
  7. matlab添加 m_map工具箱
  8. win10邮件中添加QQ邮箱无法成功
  9. 全国最新省市县区sql数据(拿来即用)
  10. DistMesh代码划分网格