在近日的專案中,有用到圖片置於特定的造形之中以遮罩或是裁切的效果呈現畫面,對此將線上看到約得不錯的文章與原理做個記錄。


clip-path 簡介

clip-path 操作概念相近 SVG clip-path 屬性

clip-path 為 CSS 專屬剪裁屬性,概念相近於 SVG 的 clip-path 元素與相關屬性。在近代瀏覽器的使用上,基本上相容性是算夠的,在寫這篇筆記的時間為 20240621,運用於行動裝置上的瀏覽器大致上也是可以,是個可基於 CSS 做樣式規劃的運用屬性。

原理部份可參考:
oxxostudio – 運用 clip-path 的純 CSS 形狀變換 – 使用 clip-path 繪製多邊形
張鑫旭-鑫空間-鑫生活 – CSS3/SVG clip-path路徑剪裁遮罩屬性簡介 – 三、CSS中的clip-path

CSS clip-path 的基本屬性:圓形 circle、橢圓形 ellipse、多邊形 polygon、內置矩形 inset

clip-path 主要透過繪製方法配合對應的參數操作。

  • 圓形 circle
  • 橢圓形 ellipse
  • 多邊形 polygon
  • 內置矩形 inset

See the Pen Untitled by Jimmy_Wu (@Jimmy_Wu) on CodePen.


clip-path 運用

預設呈現樣式、容器內置圖文、背景色與背景圖

clip-path 建立基本型,

沒指定大小,基本上是 0px,透過 CSS 屬性設定寬度,指定高度與寬度,以設定的高寬值做比例變形呈現。
在沒有指定背景色或是背景圖片,會預設是透明的。
在裁切出來的造形上,可以在包圖片或是文字於容器內。
也可以透過 CSS 的圖片圖片做為程現樣式。

See the Pen Untitled by Jimmy_Wu (@Jimmy_Wu) on CodePen.

以 hover 效果變換星形

See the Pen Untitled by Jimmy_Wu (@Jimmy_Wu) on CodePen.


參考資料

線上工具