CSS3 realisiert den verschiebbaren Zauberwürfel-3D-Effekt

CSS3 realisiert den verschiebbaren Zauberwürfel-3D-Effekt

Hauptsächlich verwendete Wissenspunkte:

•CSS3 3D-Transformationen •Native JS-Maus-Drag-Ereignisse

•Anzeige:Rasterlayout

Implementierte Funktionen

• 3D Zauberwürfel kann angeklickt und gezogen werden

• Sehen Sie die Wirkung direkt

html:

<div Klasse="Container">
        <div Klasse="Box Standard">
            <div class="pic"><img src="./img/cat.jpg" alt=""></div>
            <div class="pic"><img src="./img/dog.jpg" alt=""></div>
            <div class="pic"><img src="./img/elephant.jpg" alt=""></div>
            <div class="pic"><img src="./img/lion.jpg" alt=""></div>
            <div class="pic"><img src="./img/rabbit.jpg" alt=""></div>
            <div class="pic"><img src="./img/monkey.jpg" alt=""></div>
        </div>
    </div>
    <h1>Klicken Sie zum Wechseln auf die Bildschaltfläche unten</h1>
    <div Klasse="btn">
        <input Typ="Bild" Klasse="1" src="./img/cat.jpg">
        <input Typ="Bild" Klasse="2" src="./img/dog.jpg">
        <input Typ="Bild" Klasse="3" src="./img/elephant.jpg">
        <input Typ="Bild" Klasse="4" src="./img/lion.jpg">
        <input Typ="Bild" Klasse="5" src="./img/Kaninchen.jpg">
        <input Typ="Bild" Klasse="6" src="./img/monkey.jpg">
    </div>

CSS:

   * {
        Rand: 0;
        Polsterung: 0;
    }
    html,
    Körper {
        Breite: 100 %;
        Höhe: 100%;
        Hintergrund: #66677c;
        Textausrichtung: zentriert;
    }
    .container {
        Breite: 300px;
        Höhe: 300px;
        Rand: 50px, automatisch 150px;
        Perspektive: 1200px;
    }
    .Container .Box {
        Breite: 300px;
        Höhe: 300px;
        Position: relativ;
        Transformationsstil: 3D bewahren;
        Übergang: Transformation 0,5 s;
    }
    .container .box .bild {
        Position: absolut;
        links: 0;
        oben: 0;
        Breite: 300px;
        Höhe: 300px;
        Kastenschatten: 0px 0px 5px #fff;
    }
    .container .box .bild img {
        Breite: 100 %;
        Höhe: 100%;
        Cursor: Zeiger;
    }
    .container .box .pic:n-tes-Kind(1) {
        transformieren: übersetzenZ(150px);
    }
    .container .box .pic:nth-child(2) {
        transformieren: Y drehen (-180 Grad) Z verschieben (150px);
    }
    .container .box .pic:nth-child(3) {
        transformieren: Y drehen (90 Grad) Z verschieben (150 Pixel);
    }
    .container .box .pic:n-tes-Kind(4) {
        transformieren: Y drehen (-90 Grad) Z verschieben (150px);
    }
    .container .box .pic:n-tes-Kind(5) {
        transformieren: rotierenX(90 Grad) übersetzenZ(150px);
    }
    .container .box .pic:nth-child(6) {
        transformieren: rotierenX(-90 Grad) übersetzenZ(150px);
    }
    h1 {
        Farbe: #fff;
        Schriftgröße: 30px;
        Rand unten: 30px;
    }
    .btn {
        Anzeige: Raster;
        Inhalt ausrichten: zentriert;
        Rastervorlagenspalten: 100px 100px 100px;
        Rastervorlagenzeilen: 100px 100px;
        Rasterabstand: 15px;
    }
    .btn Eingabe {
        Breite: 100px;
        Höhe: 100px;
        Gliederung: keine;
        Rand: 2px durchgezogen #fff;
    }
    .btn Eingabe:Fokus {
        Rand: 2px durchgezogen #e70;
    }
    .Standard {
        transformieren: verschiebeZ(-150px) dreheX(-10 Grad) dreheY(15 Grad);
    }
    .bild1 {
        transformieren: verschiebeZ(-150px) dreheX(0 Grad) dreheY(0 Grad);
    }
    .image2 {
        transformieren: verschiebeZ(-150px) dreheY(-180 Grad);
    }
    .bild3 {
        transformieren: verschiebeZ(-150px) dreheY(-90 Grad);
    }
    .image4 {
        transformieren: verschiebeZ(-150px) dreheY(90 Grad);
    }
    .image5 {
        transformieren: verschiebeZ(-150px) dreheX(-90 Grad);
    }
    .image6 {
        transformieren: verschiebeZ(-150px) dreheX(90 Grad);
    }

javascript - Argumente:

 (Funktion(){
        var btn = document.getElementsByClassName('btn')[0];
        var box = document.getElementsByClassName('box')[0];
        btn.addEventListener('klicken',Funktion(e){
            var Klassenname = e.Ziel.Klassenname;
            wenn(Klassenname !== 'btn'){
                box.stil = '';
                box.classList.replace(box.classList[1],'Bild'+Klassenname);
            }
        })
        //Maus-Drag-Effekt var xN = 10, yN = 15;
        document.addEventListener('mousedown',Funktion(e){
            e.preventDefault();
            e.stopPropagation();
            var x = e.clientX;
            var y = e.clientY;
            document.addEventListener('mousemove',bewegen);
            document.addEventListener('mouseup', hoch);
            Funktion verschieben(e){
                e.preventDefault();
                e.stopPropagation();
                var x1 = e.clientX;
                var y1 = e.clientY;
                xN += (x1 - x)*0,04;
                yN += (y1 - y)*0,04;
                box.style.transform = 'translateZ(-150px) rotateY(' + xN + 'Grad) rotateX(' + -yN + 'Grad)';
            }
            Funktion nach oben () {
                document.removeEventListener('mousemove', verschieben);
            }
        })
    })()

Zusammenfassen

Oben finden Sie eine Einführung in den verschiebbaren 3D-Effekt des Zauberwürfels basierend auf CSS3. Ich hoffe, es wird Ihnen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken! Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

<<:  Designtheorie: Eine Methode, um die Herzen der Menschen zu verstehen

>>:  Detaillierte Schritte zum Erstellen der TypeScript-Umgebung und Bereitstellen in VSCode

Artikel empfehlen

So zeigen Sie die Ausführungszeit von SQL-Anweisungen in MySQL an

Inhaltsverzeichnis 1. Erste SQL-Vorbereitung 2. M...

Allgemeine Tags in XHTML

Was sind XHTML-Tags? XHTML-Tag-Elemente sind die ...

Zusammenfassung der Lösung für den Webpack -v-Fehler von Vue

Xiaobai lernte Vue kennen, dann lernte er Webpack...

So verwenden Sie Xtrabackup zum Sichern und Wiederherstellen von MySQL

Inhaltsverzeichnis 1. Sicherung 1.1 Vollständig v...

Tiefgreifendes Verständnis des Javascript-Klassenarrays

js-Arrays sind wahrscheinlich jedem bekannt, da s...

Beispiel für einen Fork- und Mutex-Lock-Prozess im Linux-Multithreading

Inhaltsverzeichnis Frage: 1. Erster Versuch 2. Ra...

Zusammenfassung gängiger Befehle zur Linux-Benutzer- und Gruppenverwaltung

Dieser Artikel fasst die allgemeinen Befehle zur ...

Implementieren einer benutzerdefinierten Bildlaufleiste mit nativem JS

In diesem Artikelbeispiel wird der spezifische JS...

Ubuntu kompiliert Kernelmodule und der Inhalt wird im Systemprotokoll angezeigt

Inhaltsverzeichnis 1.Linux-Anmeldeschnittstelle 2...

Tomcat analysiert XML und erstellt Objekte durch Reflektion

Der folgende Beispielcode stellt die Prinzipien d...

Detaillierte Erklärung des Javascript Echarts Luftqualitätskarteneffekts

Wir müssen zunächst die Luftqualitätsdaten mit de...