iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 4
0
Modern Web

Happy CSSer 報報系列 第 4

Happy CSSer - 03) Pokemon Go - Radar

  • 分享至 

  • xImage
  •  

FB event: https://www.facebook.com/events/1911828859048006/
GitHub repo: https://github.com/Happy-CSSer/Happy-CSSer/tree/master/2017-01-22

https://ithelp.ithome.com.tw/upload/images/20171222/20107823rOJ21kejRe.png


第一次在摩茲工寮辦活動~
場地真的棒!

這次活動還是繼續刻 Pokemon Go 的 UI
(到底是多喜歡 Pokemon GO XDDD)
嘛… 應該不久後就會膩到換主題了…

這次挑了個雷達的功能

[Pokemon Go UI] Poke Radar: NearBy & Sightings
https://codepen.io/Rplus/pen/wgdrjz

記得原本 N 社只有做 sightings 的功能,而且因為很難找到目標,部份玩家會用台語稱呼為 塞ting
後來新加的這個 nearby 功能總算是讓一些幾何數學不好的朋友能輕鬆愉快找到目標~

會挑這個來做一是因為看起來比較簡單 XD
再來就是這塊 UI 滿獨立的,跟其它 UI 比較不會有相依問題
但僅管如此,它在橫向螢幕的表現實在是不太好,所以想來挑戰看看如何改善呈現效果

因為會有兩種雷達:Nearby & Sightings
所以用 title + list 的方式來呈現
現在回頭看那用 content 輸出 title 文字的方式實在是脫褲子放屁 XDD

而 list 是用 CSS Grid 排版 ( 這真的是排版救星~
因為數量有時不一定會全滿,
所以 grid-template 就只設定橫向 column 而已
設定好 grid-gap 間距後,一顆顆就自己按順序排好囉!

每個 item 分三部份: 背景圖、PM 圖、環(鎖定時有動畫)

item 的長寬相等是利用背景圖層 padding-bottom: 100% 做的,而其它的則是絕對定位。
背景圖這邊是統一用漸層色暫替,但其實要塞真的背景圖也只需要將圖片網址以 CSS variables 引入即可快速地完成~

PM 圖是用 pseudo-element 做的,設計上是直接用 CSS variables 吃 PM 圖片網址,只是這邊沒有做完所有的細節設定,包括背景圖尺寸、位置等等的調整。不過基本架構建好後,後續就比較容易對應處理了

環則是自己用了一個 DOM,分成三層:因為它需要三個圈,所以就一圈一層~
DOM 本體是基準的圈;那兩個 pseudo-element 則是動畫效果時才會出現的圈圈,它們兩會套用同一個放大的動畫,但會有不同的 animation-delay 來產生時間差的視覺效果

最後講的則是最麻煩的外框尺寸的控制
因為尺寸條件頗多,所以後來只針對 orientation 來判斷
細節就沒有處理太多。
所以在接近正方形的視窗下,就會有些東西被遮住,這是還可以改善的地方,或許一起改用 vmin 來處理元件尺寸會有不錯的效果

另外在圈圈的設定,也可以改用 emvmin 來設定,
避免圈圈與圖片的位置會因為視窗尺寸不同而有太大的變化~

這期基本上是做了個雛型而已,但有時雛型也滿適合拿來討論改進方向的~ :P

偷偷廣告一下,
這週日有 Happy CSSer 的活動唷!
有興趣的可以來玩~
https://www.facebook.com/events/401531540268114/

( 週六有空就去遊行吧 XDDD )


上一篇
Happy CSSer - 02) Pokemon Go - Dialog
下一篇
Happy CSSer - 04) Movie Card
系列文
Happy CSSer 報報9
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言