Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Wie erstelle ich reaktionsfähige Clippfade mit Inline SVG?

Susan Sarandon
Freigeben: 2024-11-03 01:34:03
Original
521 Leute haben es durchsucht

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage