Heim > Web-Frontend > CSS-Tutorial > Wie kann ich bei Verwendung von Inline-SVG eine reaktionsfähige Ausrichtung von Clippfaden sicherstellen?

Wie kann ich bei Verwendung von Inline-SVG eine reaktionsfähige Ausrichtung von Clippfaden sicherstellen?

Mary-Kate Olsen
Freigeben: 2024-11-02 03:37:30
Original
473 Leute haben es durchsucht

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

Responsiver Clip-Pfad mit Inline-SVG

Beim Anwenden eines Clip-Pfads auf ein Element mit Hintergrund ist es üblich, das SVG inline einzubetten. Es können jedoch Probleme mit der Reaktionsfähigkeit oder Ausrichtung auftreten, wie im folgenden Beispiel dargestellt:

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

Das Problem

In diesem Beispiel hat das Inline-SVG explizite Abmessungen (4000 Pixel breit), die kann viel größer sein als die tatsächliche Größe des Headers. Folglich wird der Clip-Pfad unverhältnismäßig groß, was zu einer unerwarteten Ausrichtung führt.

Die Lösung: clipPathUnits="objectBoundingBox"

Um einen responsiven Clip-Pfad zu erstellen, können Sie clipPathUnits= verwenden Attribut „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>
Nach dem Login kopieren

Mit diesem Attribut sind die ViewBox und die Abmessungen des SVG irrelevant, und der Clippfad wird stattdessen auf den Begrenzungsrahmen des Elements skaliert, auf das er angewendet wird. Dies gewährleistet eine reaktionsschnelle und konsistente Ausrichtung des Clippfads, unabhängig von der Größe des Elements.

Das obige ist der detaillierte Inhalt vonWie kann ich bei Verwendung von Inline-SVG eine reaktionsfähige Ausrichtung von Clippfaden sicherstellen?. 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