製作起源
也是因為在 2014-04-17 出了一款魔法陣字型,在藉由惡友們的催促下,不,是誘導下嘗試做了 jquery 的插件來完成魔法陣的製作。當然沒有網址中做得那麼好看。
不過具體下也努力去完成了。附圖如下:
製作
前置作業
- JQuery
- CSS 旋轉和陰影配置
開始
配置多層圓,可以參考 這裡,先將內容拆成
<span>A</span>
的形式。12345678910111213h1 span {font: 24px myFirstFont, Monaco, MonoSpace;height: 300px;position: absolute;width: 20px;left: 50%;top: 0;-webkit-transform-origin: 50% 50%;-moz-transform-origin: 50% 50%;-ms-transform-origin: 50% 50%;-o-transform-origin: 50% 50%;transform-origin: 50% 50%;}將每個
<span>
設置成絕對座標配置,乍看下是一個長條形,並且使用transform-origin 50% 50%
設置旋轉中心,也就是長條形的正中間。rgba(177, 17, 22, 1)
為血紅色
更新
接著要計算字距,來方便每一個字符偏轉角度。而且每一層圓的偏轉角度還有所不同,這裡我並沒有詳細去計算。
transform rotate(50 deg)
用來旋轉光暈效果呈現
box-shadow 0px 0px 10px rgba(177, 17, 22, 1)
於外部產生陰影。- 至於內部效果沒有做得很好看。
在 山田かみら 的建議下,進行的大幅度地修改,同時也發現之前的版本有過度延遲的問題,原因都發生於過多的 for each 計算。
- 先修正過於愚蠢的 CSS,加入比較好的 class 處理,來達到可以物件化。
- 原本文字的處理仍需要使用旋轉的方式運作,而考慮將每一個圈放到同一個正方形內,直接對正方形作旋轉即可,剩下的操作交給瀏覽器去進行計算。因此,做了架構上的分層。
關於代碼
|
|
不知道 CSS3 穩定了沒有,在動畫處理引用 animate.css。
但是如果要完成連續型的動畫播放,單純 CSS 目前不想去研究能不能寫腳本。所以在定秒處理之後呼叫 callback()
去進行下一個動畫放置 (仍以 jquery 為主)。
剩下的交給 山田君 了。
Demo & 下載
repo jquery-magic-circle on Github