查看: 729|回復: 0
打印 上一主題 下一主題

[HTML/CSS] HTML5 Canvas和jQuery實用實時天氣預報事例!

[復制鏈接]
跳轉到指定樓層
樓主
大話設計 發表于 2018-3-23 18:56:40 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
生活圈制作

  這是一款非常有意思的純CSS3扁平風格天氣預報卡片動畫特效。該天氣預報特效將各種天氣制作為卡片形式,包括下雨,閃電,白天,夜間和下雪。卡片使用扁平化風格,并使用CSS3幀動畫來制作各種動畫效果。

  制作方法

  HTML結構

  該特效的HTML結構采用無序列表的HTML結構,其中每一個li.card元素代表一種卡片。

  1. <ul class="card-list">
  2.   <li class="card">
  3.     <div class="card-color color-rain">
  4.       <div class="rain"></div>
  5.     </div>
  6.     <div class="card-info">
  7.       <p>63 ℉</p>
  8.       <p>low of 61 ℉</p>
  9.     </div>
  10.   </li>
  11.   ......
  12. </ul>
復制代碼
    CSS樣式

  首先給卡片一些基本樣式。


  1. .card {
  2.   width: 18.57%;
  3.   background-color: #3c3b3d;
  4.   float: left;
  5.   margin: 0 20px 20px 0;
  6.   overflow: hidden;
  7. }

  8. .card:nth-child(5n) {
  9.   margin-right: 0;
  10. }

  11. .card .card-color {
  12.   position: relative;
  13.   width: 100%;
  14.   padding: 6.5em 1em;
  15.   display: block;
  16. }

  17. .card .card-color:after {
  18.   position: absolute;
  19.   content: '';
  20.   top: 0;
  21.   right: 0;
  22.   height: 100%;
  23.   width: 50%;
  24. }
  25. .card .card-info {
  26.   padding: 1em;
  27.   color: #808080;
  28.   text-align: center;
  29. }

  30. .card .card-info p {
  31.   font-size: 0.85rem;
  32.   margin-bottom: .75em;
  33. }

  34. .card .card-info p:first-child {
  35.   font-weight: 600;
  36.   font-size: 0.9rem;
  37.   text-transform: uppercase;
  38.   color: #fff;
  39. }

  40. .card .card-info p:last-child {
  41.   margin-bottom: 0;
  42. }            
復制代碼
對于第一種下雨效果,特效中對div.rain元素使用了rain幀動畫。然后使用div.rain元素的:after偽元素來制作云彩的陰影效果,并應用rain_shadow幀動畫。最后使用div.rain元素的:before偽元素來制作雨點效果,并應用rain_rain幀動畫。

  1. .rain {
  2.   animation: rain 9s ease-in-out infinite 1s;
  3.   -webkit-animation: rain 9s ease-in-out infinite 1s;
  4.   background: #CCCCCC;
  5.   border-radius: 50%;
  6.   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;
  7.   display: block;
  8.   height: 50px;
  9.   width: 50px;
  10.   position: absolute;
  11.   left: 40px;
  12.   top: 80px;
  13. }

  14. .rain:after {
  15.   animation: rain_shadow 9s ease-in-out infinite 1s;
  16.   -webkit-animation: rain_shadow 9s ease-in-out infinite 1s;
  17.   background: #000000;
  18.   border-radius: 50%;
  19.   content: '';
  20.   height: 15px;
  21.   width: 120px;
  22.   opacity: 0.2;
  23.   position: absolute;
  24.   left: 5px;
  25.   bottom: -60px;
  26.   transform: scale(.7);
  27.   -webkit-transform: scale(.7);
  28. }

  29. .rain:before {
  30.   animation: rain_rain .7s infinite linear;
  31.   -webkit-animation: rain_rain .7s infinite linear;
  32.   content: '';
  33.   background: transparent;
  34.   margin-left: 0px;
  35.   border-radius: 50%;
  36.   display: block;
  37.   height: 6px;
  38.   width: 3px;
  39.   opacity: 0.3;
  40.   transform: scale(.9);
  41.   -webkit-transform: scale(.9);
  42. }   
復制代碼
游客,如果您要查看本帖隱藏內容請回復

<請加QQ群獲取解壓密碼>

<QQ群:712701988>


最近訪問 頭像模式 列表模式
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

快速回復 返回頂部 返回列表
大乐透和双色球哪个更容易中奖