TP Notes
全部
CSS
SVG
資源收集
HTML
其它
關於我
Translate
2020年11月13日 星期五
SVG 的 clipPath
SVG 有超強的 path 可以設定路徑,也可以用這個路徑來做一些應用,最實用的功能之一就是裁切, 而且在 SVG 的 defs 中定義的 clipPath 可以直接在 CSS 裡面用,在 MAC 的 safari 以及 iphone 上要使用 -webkit-clip-path ,但是也不完全正常,使用方式在 style 裡頭加上 ```clip-path:url(#ID);-webkit-clip-path:url(#ID);``` 即可 如以下範例,圖四是使用 img + clip-path 做裁切,因為在 clipPath 使用了多個 path ,在 safari 以及 iphone 上無法正常顯示,而圖六是用 svg 的 image 顯示圖片,並且使用 clip-path 裁切,在所有瀏覽器都可以正常顯示。 範例如下: ``` $mmcode(r1) ```
圖一
圖二
圖三
圖四
圖五
圖六
clipPath 裡頭的路徑都是 OR 運算,要做 AND 運算的話,可以在 clipPath 再加上 clip-path **(圖三)** 在這個範例中畫了一個星星,通常在繪圖時要挖空重疊的部份用的是 **fill-rule="evenodd"** ,然而在 clipPath 中無效,必須用 **clip-rule="evenodd"** 才行 在這邊也發現了一個 chrome 的 bug , clipPath 基本上無法做 XOR 運算,結果圖四在 chrome 卻出現了類似 XOR 的效果,在 firefox 和 safari 沒有問題 ``` $mmcode(r2) ```
圖一
圖二
圖三
圖四
沒有留言:
張貼留言
較新的文章
較舊的文章
首頁
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言