Analyse der Prinzipien verschiedener Möglichkeiten zur Nachahmung des Lupeneffekts in CSS3

Analyse der Prinzipien verschiedener Möglichkeiten zur Nachahmung des Lupeneffekts in CSS3

Warum lautet der Titel des Artikels „Imitierte Lupe“?
Denn das, worüber ich heute sprechen möchte, ist nicht das, was allgemein gesagt wird, nämlich dass, wenn die Maus sich bewegt, ein großes lokales Bild daneben erscheint. Das ist einfach zu schreiben und erfordert nicht viele Fähigkeiten (verwenden Sie relative Positionierung, um das übergeordnete Element (oder: das Originalbild) zu positionieren, und absolute Positionierung, um das lokale große Bild (Zweck: es irgendwo neben dem Originalbild zu platzieren) zu positionieren, verwenden Sie CSS, um den Stil daneben zu steuern, und verwenden Sie Mausereignisse, um zuzuhören ... Natürlich können Sie auch direkt die Schnittstelle in jQuery verwenden - $('class name').jqzoom({zoomwidth:xx; zoomheight: xx; zoomType:'reverse';}) Der letzte Typ definiert den Lupentyp)

Okay, kommen wir zurück zum Thema. Worüber ich heute sprechen möchte, ist die Animation der Vergrößerung des Bildes an seiner ursprünglichen Position, wenn die Maus hineinbewegt wird !
Genau: Animation. (Folgend: Ausschnitt aus einer Website)

Bildbeschreibung hier einfügen

Als erstes fiel mir das @keyframes-Attribut von CSS3 ein, da es häufiger verwendet wird.
Beispiel: Sie können „von...bis“ verwenden, um den Stil anzugeben – Eingangsanimation und Ausgangsanimation

Zum Beispiel: Sie können dies durch Übergang erreichen ( der heutige Schwerpunkt )

Prophet: CSS3-Attributtransformation – (Drehen: Drehen, Skalieren: Skalieren, Verzerren: Verzerren, Übersetzen: Übersetzen)

Zum Beispiel:
Die normale Breite des Elements beträgt 100 Pixel und die Breite wird 200 Pixel, wenn die Maus darüberfährt.
Wenn Sie nur den Breitenwert festlegen, ist der Effekt wie folgt:

Bildbeschreibung hier einfügen

Sieht es nicht sehr steif aus? Schauen wir uns die Wirkung des Hinzufügens eines Übergangs an:

Bildbeschreibung hier einfügen

Nachdem Sie sich den Unterschied zwischen den beiden Effekten angesehen haben, verstehen Sie wahrscheinlich die Rolle des Übergangsattributs. Das Ziel dieses Beispiels ist ähnlich wie bei der Breitenänderung, der endgültige Effekt ist jedoch anders. Bitte schauen Sie sich weiterhin den detaillierten Code unten an:

<div id="Behälter">
  <img src="./kleiner_junge.jpg" />
  <span>Hallo zusammen! Wer bin ich? </span>
</div>
#Behälter {
  Rand: 200px;
  Position: relativ;
  Breite: 300px;
  Höhe: 300px;
  Hintergrundfarbe: grüngelb;
  Übergang: Transformation, 0,5 s Ausklang;
}

#Containerbild {
  Breite: 100 %;
  Höhe: 100%;
}

#Containerspanne {
  Position: absolut;
  oben: 0;
  links: 0;
  Rand: 6px;
  Breite: 100 %;
  Höhe: 20px;
  Zeilenhöhe: 20px;
  Schriftgröße: 18px;
  Farbe: weiß;
  Textausrichtung: zentriert;
}

#container:hover {
  transformieren: Skalierung (1,3);
}

Analyse:
(1) Fügen Sie dem Container die Pseudoklasse „Hover“ hinzu und legen Sie den Vergrößerungseffekt des Containers über das Attribut „Transform“ fest. (2) Legen Sie das Übergangsattribut des Containers fest, wobei der Attributwert „Transform“ und die Dauer der Animation lautet.

Damit ist dieser Artikel über die Prinzipien und Analysen verschiedener Möglichkeiten zur Simulation eines Lupeneffekts in CSS3 abgeschlossen. Weitere relevante CSS3-Lupeninhalte finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

<<:  Zusammenfassung häufig verwendeter Tags in HTML (unbedingt lesen)

>>:  Lösung für das Problem der großen Schriftgröße auf iPhone-Geräten in WAP-Seiten

Artikel empfehlen

MySQL-Datenbank implementiert MMM-Hochverfügbarkeitsclusterarchitektur

Konzept MMM (Master-Master-Replikationsmanager fü...

Grundlegende Schritte zur Sicherheitseinstellung für den CentOS7-Server

Schalten Sie den Ping-Scan aus, obwohl dies nicht...

CSS3-Animation zum Erzielen des Streamer-Button-Effekts

Beim Erlernen von CSS3 habe ich festgestellt, das...

Jmeter stellt eine Verbindung zum Datenbankprozessdiagramm her

1. Laden Sie den MySQL-JDBC-Treiber (mysql-connec...

Verwenden Sie nginx + sekundären Domänennamen + https-Unterstützung

Schritt 1: Fügen Sie dem primären Domänennamen vo...

Aktivieren und Konfigurieren des MySQL-Protokolls für langsame Abfragen

Einführung Das MySQL-Protokoll für langsame Abfra...

Vue implementiert Drag & Drop für mehrspaltiges Layout

In diesem Artikel wird der spezifische Code von V...

Spezifische Verwendung von GNU Parallel

Was ist das? GNU Parallel ist ein Shell-Tool zum ...

Beispielcode zur Implementierung der MySQL-Master-Slave-Replikation in Docker

Inhaltsverzeichnis 1. Übersicht 1. Grundsatz 2. U...

Die Fallstricke beim Erlernen von Vue.js

Inhaltsverzeichnis Klasse void zeigen ES6-Pfeilfu...

Der Unterschied zwischen char und varchar in MySQL

CHAR- und VARCHAR-Typen sind ähnlich und untersch...

Antworten auf mehrere häufig gestellte MySQL-Interviewfragen

Vorwort: Bei Vorstellungsgesprächen für verschied...

Eine Untersuchung des JS-Operators im Problem

Die Sache ist: Jeder kennt „Speicherlecks“. Es gi...