iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 9
0
自我挑戰組

30天的css animation修練系列 第 9

實作 css animation - 噪點背景動畫

  • 分享至 

  • xImage
  •  

這次要寫的主題是噪點背景動畫
像傳統式電視機壞掉 很多灰階顆粒閃來閃去的樣子
這個效果其實背後的原理很簡單,只是依時間軸來移動背景圖片而已
首先把架構依序放好

<p class="desc">噪點背景效果</p>
<div class="noise noise-ani">
</div>

設定基本的css(這部分跟動畫無關)

/*引入 思源黑體*/
@import url(https://fonts.googleapis.com/earlyaccess/notosanstc.css);
* {
  font-family: "Noto Sans TC";
}
body {
  color: #fff;
  text-align: center;
  background-color: #232323;
  margin: 0;
  position:relative;
}
.desc {
  font-size: 2rem;
  padding: 0 ;
  z-index:10;
  position:absolute;
  left:0;
  right:0;
}

然後把有雜點的背景圖放進來,也可以到 http://noisepng.com/ 這個網站來製造想要的噪點背景圖
https://ithelp.ithome.com.tw/upload/images/20181015/20112289PcRVbykGxS.png
我個人的做法是上傳到提供免費圖床的網站上
然後來快樂的寫動畫區塊的 css XD

.noise {
  /*撐大這個div*/
  width: 100vw;
  height:100vh;
  background-image: url("https://cdn1.imggmi.com/uploads/2018/10/15/98373017bd4a31bf2b53a6572efca174-full.png");
  background-position:0 0;
  /*如果要讓噪點不要看起來太明顯 可以把透明度設小一些*/
  opacity:0.2;
}

背景設定好以後就可以看到雛形如下
https://ithelp.ithome.com.tw/upload/images/20181015/20112289Iyj6nq1OzH.png
接下來寫動畫部分

.noise-ani{
   animation:noise-ani .8s linear infinite; 
}

@keyframes noise-ani{
  50%{background-position:800px 600px;}
  100%{background-position:-600px -400px;
}

這樣就大功告成了
如同往常附上codepen
https://codepen.io/UHU/pen/pxdeBM


上一篇
實作 css animation - 儀錶板加速動畫
下一篇
實作 css animation - pre load 動畫 part1
系列文
30天的css animation修練30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言