Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah saya boleh memastikan penjajaran responsif bagi laluan klip apabila menggunakan SVG sebaris?

Bagaimanakah saya boleh memastikan penjajaran responsif bagi laluan klip apabila menggunakan SVG sebaris?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-02 03:37:30390semak imbas

How can I ensure responsive alignment of clip-paths when using inline SVG?

Laluan Klip Responsif dengan SVG Sebaris

Apabila menggunakan laluan klip pada elemen dengan latar belakang, adalah perkara biasa untuk membenamkan sebaris SVG. Walau bagaimanapun, anda mungkin menghadapi masalah dengan responsif atau penjajaran seperti yang dilihat dalam contoh di bawah:

<code class="html"><header id="block-header">
  <svg width="100%" height="100%" viewBox="0 0 4000 1696" preserveAspectRatio="none">
    <defs>
      <clipPath id="myClip">
        <path d="M0 1568.18V0h4000v1568.18S3206.25 1696 2000 1696C984.37 1696 0 1568.18 0 1568.18z" />
      </clipPath>
    </defs>
  </svg>
</header></code>

Isunya

Dalam contoh ini, SVG sebaris mempunyai dimensi eksplisit (4000px lebar), yang mungkin lebih besar daripada saiz sebenar pengepala. Akibatnya, laluan klip menjadi besar secara tidak seimbang, membawa kepada penjajaran yang tidak dijangka.

Penyelesaian: clipPathUnits="objectBoundingBox"

Untuk mencipta laluan klip responsif, anda boleh menggunakan clipPathUnits= Atribut "objectBoundingBox":

<code class="html"><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></code>

Dengan atribut ini, kotak pandangan dan dimensi SVG adalah tidak relevan dan laluan klip sebaliknya berskala ke kotak sempadan elemen yang digunakan. Ini memastikan penjajaran yang responsif dan konsisten bagi laluan klip, tanpa mengira saiz elemen.

Atas ialah kandungan terperinci Bagaimanakah saya boleh memastikan penjajaran responsif bagi laluan klip apabila menggunakan SVG sebaris?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn