Beispiel für die Anzeige von Bildjalousien mit reinem CSS

Beispiel für die Anzeige von Bildjalousien mit reinem CSS

Lassen Sie mich Ihnen zunächst den fertigen Effekt zeigen

Hauptidee: Tatsächlich verwendet diese Jalousie immer noch eine Art Taschenspielertrick. Es scheint, als würde sich das Bild vergrößern, wenn wir mit der Maus darüber fahren. Tatsächlich bewegen sich diese Bilder überhaupt nicht. Wir setzen diese Bilder einfach in eine Liste, legen sie übereinander und ändern die Breite der Liste, wenn wir die Maus bewegen.

Erster Schritt: Bauen Sie einen Fensterladenrahmen

HTML Quelltext:

<div Klasse="Container">
        <ul>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
        </ul>
    </div>

CSS Code:

 *{
            Rand: 0;
            Polsterung: 0;
        }
        .Container{
            Rand: 100px automatisch;
            Rand: 2px durchgezogen #568bc7;
            Breite: 800px;
            Höhe: 300px;
        }
        .container ul{
            Anzeige: Flex;
        }
        .container li{
            Breite: 160px;
            Höhe: 300px;
            Listenstil: keiner;
            Rahmen links: 1px durchgezogen #194b8d;
        }
        .container li img{
            Anzeige: Block;
            Breite: 800px;
            Höhe: 300px;
        }

Hinweis: Die Breite des li muss hier möglicherweise manuell berechnet werden. Obwohl die elastische Box verwendet werden kann, um eine automatische gleichmäßige Teilung zu erreichen, habe ich nach dem Hinzufügen von Hover einen Fehler gefunden. Sie können es versuchen. Die elastische Box wird hier nicht verwendet. Jetzt wird das folgende Framework erhalten:

Schritt 2: Bild einfügen und mit Hover Spezialeffekte erzeugen

Ich habe hier fünf Gemälde eingefügt

Hier können wir feststellen, dass das Bild den Umfang unseres Containers überschreitet

An dieser Stelle fügen wir einen versteckten Überlauf hinzu
Überlauf: versteckt;

So eine Jalousie ist maßstabsgetreu. Wie bringt man das Bild dazu, sich wie im Demonstrations-GIF zu bewegen?
Hier ist ein Kerncode

  .container ul:hover li{
            Breite: 40px;
        }
    .container ul li:hover{
            Breite: 600px;
        }

Diese Demo ist eigentlich eine Übung zur flexiblen Verwendung des :hover-Attributs.
Beachten Sie zunächst, dass die Reihenfolge der beiden Codezeilen nicht geändert werden kann. Wenn die Maus in den großen Container von ul bewegt wird, verkleinern wir zunächst die Breite von li und lösen dann das Hovern der nächsten Zeile aus. Wenn Sie in jedes li fahren, vergrößern wir die Breite von li.

Schritt 3: Details

Nachdem wir das Obige abgeschlossen haben, können wir sehen, dass der gesamte Prozess sehr steif ist. Hier können wir Übergangsattribute hinzufügen, um die Änderung sanfter zu gestalten. Fügen Sie gleichzeitig dem linken Rand jedes Li einen kleinen Schatteneffekt hinzu, damit es dreidimensionaler aussieht.

  Kastenschatten: 0 0 25px #000;
	Übergang: alle 0,5 s;

Endlich ist es geschafft

Hier ist der vollständige Code:

<!DOCTYPE html>
<html lang="de">
<Kopf>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=Gerätebreite, Anfangsmaßstab=1.0">
    <title>Dokument</title>
    <Stil>
        *{
            Rand: 0;
            Polsterung: 0;
        }
        .Container{
            Rand: 100px automatisch;
            Rand: 2px durchgezogen #568bc7;
            Breite: 800px;
            Höhe: 300px;
            Überlauf: versteckt;
        }
        .container ul{
            Anzeige: Flex;
        }
        .container li{
            Breite: 160px;
            Höhe: 300px;
            Listenstil: keiner;
            Rahmen links: 1px durchgezogen #194b8d;
            Kastenschatten: 0 0 25px #000;
			Übergang: alle 0,5 s;
        }
        .container li img{
            Anzeige: Block;
            Breite: 800px;
            Höhe: 300px;
        }
        .container ul:hover li{
            Breite: 40px;
        }
        .container ul li:hover{
            Breite: 600px;
        }
    </Stil>
</Kopf>
<Text>
    <div Klasse="Container">
        <ul>
            <li><img src="./img/tq1.jpg" alt=""></li>
            <li><img src="./img/tq2.jpg" alt=""></li>
            <li><img src="./img/tq3.jpg" alt=""></li>
            <li><img src="./img/tq4.jpg" alt=""></li>
            <li><img src="./img/tq5.jpg" alt=""></li>
        </ul>
    </div>
</body>
</html>

Dies ist das Ende dieses Artikels darüber, wie Sie mit reinem CSS einen Bildjalousien-Anzeigeeffekt erzielen. Weitere relevante Inhalte zu CSS-Bildjalousien finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

<<:  Verwenden Sie @font-face, um Sonderzeichen auf Webseiten zu implementieren (benutzerdefinierte Schriftarten erstellen)

>>:  Welche Funktion ist !-- -- im HTML-Seitenstil?

Artikel empfehlen

Detaillierter Installationsprozess des NodeJS-Verwaltungstools NVM

keine Ahnung nvm ist für die Verwaltung mehrerer ...

Vue implementiert den Anwesenheitskalender von DingTalk

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

Erläuterung, ob im interaktiven Design Paging oder Laden gewählt werden soll

Der Autor dieses Artikels @子木yoyo hat ihn in seine...

Abfrage der Daten des Tages vor dem aktuellen Zeitintervall in MySQL

1. Hintergrund In tatsächlichen Projekten stoßen ...

Was ist TypeScript?

Inhaltsverzeichnis 1. JavaScript-Probleme 2. Vort...

Welche Schleife ist in JavaScript die schnellste?

Wenn wir wissen, welche For-Schleife oder welcher...

Beispiel für den Import von Nginx-Protokollen in Elasticsearch

Die Nginx-Protokolle werden von Filebeat gesammel...

So öffnen Sie Ports zur Außenwelt in Alibaba Cloud Centos7.X

Kurz gesagt: Wenn Sie einen Cloud-Server eines be...

Lösung für dieselbe IP nach dem Klonen der virtuellen Ubuntu 18-Maschine

Vorwort Ich habe vor Kurzem eine virtuelle Maschi...