首頁 > web前端 > css教學 > 如何使用內嵌 SVG 建立響應式剪輯路徑?

如何使用內嵌 SVG 建立響應式剪輯路徑?

Susan Sarandon
發布: 2024-11-03 01:34:03
原創
553 人瀏覽過

How to Create Responsive Clip-Paths with Inline SVG?

響應式 SVG 內嵌剪輯路徑

您在使用內嵌 SVG 建立響應式剪輯路徑時遇到問題。儘管有響應式 SVG,但應用的剪輯路徑無法正確縮放。

問題可能在於 SVG 中剪輯路徑的引用方法。在內聯 SVG 中定義剪輯路徑時,引用 SVG 本身作為剪輯路徑並不是正確的方法。

解決方案是在 SVG 的 中建立剪輯路徑定義。部分並使用 Clip-path 屬性從要套用 Clip-Path 的元素引用該定義。

這是一個範例:

<code class="html"><svg width="100%" height="100%" viewBox="0 0 1 1" preserveAspectRatio="none">
  <defs>
    <clipPath id="myClip">
      <path d="M0,0 1,0 1,0.9 C 1,0.9, 0.77,1, 0.5,1 0.23,1, 0,0.9,0,0.9z" />
    </clipPath>
  </defs>
</svg>

<header id="block-header">
  <svg width="0" height="0">
    <defs>
      <clipPath id="myClip" clipPathUnits="objectBoundingBox">
        <path d="M0,0 1,0 1,0.9 C 1,0.9, 0.77,1, 0.5,1 0.23,1, 0,0.9,0,0.9z" />
      </clipPath>
    </defs>
  </svg>
</header></code>
登入後複製

在此範例中:

  • 第一個SVG 中的preserveAspectRatio 屬性設定為none,以防止SVG 在調整大小時扭曲其縱橫比。
  • 標題元素內的 SVG 大小為零,以避免建立任何頁面上的元素。
  • 剪輯路徑定義中的 ClipPathUnits 屬性設定為 objectBoundingBox,這表示剪輯路徑的座標係是基於其所應用到的元素。

這確保了剪輯路徑能夠隨著容器元素進行回應縮放。

以上是如何使用內嵌 SVG 建立響應式剪輯路徑?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板