Morty's Blog | Web developer

CSS 圓形與橢圓形排版

CSS 圓形與橢圓形排版

最近遇到了斜橢圓形 CSS 排版的需求,查詢網路上的文章,做圓形排版或繞圓動畫主要都是用 3D 的方式進行,但我的需求其實是 2D 的,設定的目標是把圓畫出來後,可以很輕易的將物體對圓繞著轉,花了一些時間思考跟測試,最後有了比較簡易的寫法,因此用此邊文章記錄下來。

以下會分別介紹圓形排版、橢圓形排版,以及排版後如何使圓上的物體繞著圓轉做動畫。

圓形排版

圓形排版非常簡單,只需要用 rotate 搭配 translate 即可實現,最後再用 rotate 將內容轉回來

為方便示範將所有內容寫在一起,於開發環境請自行切 component 並以 computed 計算.

1

橢圓形排版

橢圓形排版稍微複雜一點,其實就是將圓形壓扁( scaleY(0.5) ),再把元素拉回來( scaleY(2) ),這個倍率可自行調整,壓扁 N (0.5) 倍 就要把元素拉回來 1/N (1/0.5=2) 倍。

1

動畫

這種排法有個好處是當你遇到一個很怪的橢圓形,你只需要對好橢圓形的形狀,靠著修改 rotate 就能確保他繞著圓上跑。

1

參考文件