Heim > Artikel > Web-Frontend > Einführung in die Verwendung von Clip-Pfad in CSS3
1. Grundkonzepte
Beim Aktualisieren der QQ-Bereichsdynamik habe ich eine Anzeige gefunden. Wenn der Benutzer in der dynamischen Liste nach oben und unten gleitet, wird das Anzeigenbild automatisch umgeschaltet Was den Bildschirm betrifft, ist dies zweifellos eine sehr subtile Überlegung. Wie wird dieser Effekt erzielt?
Als Nächstes sprechen wir über die konkreten Umsetzungsideen dieses Effekts:
Positionieren Sie die beiden Bilder und stapeln Sie sie relativ zum Bildcontainer
Wählen Sie einen Kreismittelpunkt in der oberen linken Ecke oder unteren rechten Ecke des Bildcontainers aus, zeichnen Sie einen Kreis und vergrößern Sie kontinuierlich den Radius des Kreises, um das zweite Bild anzuzeigen 🎜>
Nach oben wischen Beim Herunterziehen ändert sich der Radius des Kreises dynamisch entsprechend der Gleitgeschwindigkeit;Hinweis: Die Reihenfolge der Rect-Parameter ist oben, rechts, unten, links
clip: rect(60px, 60px, 60px, 60px); // 标准写法 clip: rect(60px 60px 60px 60px); // 兼容 ie 及 火狐浏览器Alle gängigen Browser unterstützen das Clip-Attribut und die Anzeige von Sprite (CSS Sprite) weiterhin hat es Es ist nützlich, aber aufgrund der Einschränkungen des Clip-Attributs wurde Clip durch Clip-Pfad ersetzt. Bei der normalen Entwicklung können wir Attribute wie „Rahmen“ und „Rahmenradius“ verwenden, um einfache Muster wie Dreiecke, Kreise oder abgerundete Rechtecke zu erstellen. In Kombination mit SVGs Pfad-, Animations- und anderen Tags können wir erstellen weitere Muster. 2. Verwendungspraxis Das Clip-Path-Attribut kann viele Grafiken zuschneiden, z. B. Kreise, Ellipsen, Polygone, Einfügungen, und Sie können auch Animationen und das ClipPath-Tag von SVG verwenden. Kreis
Ellipse Ellipse
clip-path: circle(25% at 50% 50%);
Einschub
clip-path: ellipse(25% 25% at 50% 50%);
Polygon Polygon
clip-path: inset(35% 35% 35% 35% round 0 70% 0 70%);
URL
clip-path: polygon(50% 0, 25% 50% ,75% 50%);
Es ist erwähnenswert, dass das ClipPath-Tag von SVG zum Umbrechen von Animationen verwendet werden kann. Der attributeName des Animate-Tags bezieht sich auf das Festlegen des Radius des Kreises . Es können mehrere durch Semikolons getrennte Werte angegeben werden, dur bezieht sich auf die Dauer der Animation, repeatCount bezieht sich auf die Anzahl der Animationen.
<section class="container"> <img src="img01.jpg" class="contract"> <img src="img02.jpg"> </section> <svg height="0" width="0"> <clipPath id="clip02"> <circle cx="400" cy="210" r="0"> <animate attributeType="CSS" attributeName="r" values="0;480;0" dur="9s" repeatCount="2" /> </circle> </clipPath> </svg> .contract { clip-path: url(#clip02); z-index:1; }KompatibilitätDerzeit unterstützen weder IE noch Edge dieses Attribut. Firefox unterstützt Clip-Path nur teilweise, was bedeutet, dass es nur Formen und URL-Syntax (#Pfad) für Inline-SVG unterstützt. Chrome, Safari und Opera erfordern das Präfix -webkit-, um mit dieser Eigenschaft kompatibel zu sein. Externe SVG-Formen werden nicht unterstützt. Für weitere Kompatibilitätsinformationen klicken Sie hier, um die Kompatibilität des Clip-Path-Browsers anzuzeigen. 3. Zusammenfassung der Erfahrungen Mithilfe von URL-Inline-SVG (#path) können wir problemlos komplexe Formen ausschneiden und auch einige lebendige Animationseffekte einbinden, wie z. B. das Hinzufügen einer fächerförmigen Maske B. zum Countdown von Karten und Wetten in einem Pokerspiel oder zum Hinzufügen von Countdown-Fortschritten am Rand eines Rechtecks, zum Laden von Animationen usw., kann alles geschickt mithilfe des Clip-Pfad-Attributs implementiert werden. Gleichzeitig kann das Clip-Pfad verwendet werden. Das Pfadattribut kann beim Zuschneiden von Grafiken flexibel verwendet werden. Verwandte Empfehlungen:
CSS-Clip-Pfad
Detaillierte Erläuterung der Verwendung des Clip-Pfad-Bereichsbeschneidungsattributs in CSS
Fragment-Splicing-Animation eines beliebigen Elements basierend auf clip-path_html/css_WEB-ITnose
Das obige ist der detaillierte Inhalt vonEinführung in die Verwendung von Clip-Pfad in CSS3. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!