Heim  >  Artikel  >  Web-Frontend  >  Wie erstelle ich reaktionsfähige Clippfade mit Inline SVG?

Wie erstelle ich reaktionsfähige Clippfade mit Inline SVG?

Susan Sarandon
Susan SarandonOriginal
2024-11-03 01:34:03514Durchsuche

How to Create Responsive Clip-Paths with Inline SVG?

Responsiver SVG-Inline-Clip-Pfad

Sie stehen vor einem Problem beim Erstellen eines reaktionsfähigen Clip-Pfads mit Inline-SVG. Trotz einer reaktionsfähigen SVG-Datei wird der angewendete Clip-Pfad nicht korrekt skaliert.

Das Problem kann in der Referenzierungsmethode der Clip-Pfade in SVG liegen. Wenn Sie Clip-Pfade innerhalb einer Inline-SVG definieren, ist es nicht der richtige Ansatz, auf die SVG selbst als Clip-Pfad zu verweisen.

Die Lösung besteht darin, eine Clip-Pfad-Definition innerhalb der der SVG-Datei zu erstellen. Abschnitt und verweisen Sie mithilfe des Clip-Pfad-Attributs auf die Definition des Elements, auf das Sie den Clip-Pfad anwenden möchten.

Hier ist ein Beispiel:

<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>

In diesem Beispiel:

  • Das Attribut „preserveAspectRatio“ in der ersten SVG-Datei ist auf „Keine“ gesetzt, um zu verhindern, dass die SVG-Datei bei einer Größenänderung ihr Seitenverhältnis verzerrt.
  • Die SVG-Datei im Header-Element hat die Größe Null, um die Erstellung eines Seitenverhältnisses zu vermeiden Elemente auf der Seite.
  • Das Attribut „clipPathUnits“ in der Clip-Pfad-Definition ist auf „objectBoundingBox“ festgelegt, was bedeutet, dass das Koordinatensystem des Clip-Pfads auf dem Element basiert, auf das es angewendet wird.

Dadurch wird sichergestellt, dass der Clippfad entsprechend dem Containerelement skaliert.

Das obige ist der detaillierte Inhalt vonWie erstelle ich reaktionsfähige Clippfade mit Inline SVG?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn