Reines HTML+CSS, um einen Tippeffekt zu erzielen

Reines HTML+CSS, um einen Tippeffekt zu erzielen

In diesem Artikel wird hauptsächlich der durch reines HTML + CSS erzielte Tippeffekt vorgestellt, der einen gewissen Referenzwert hat. Wenn Sie interessiert sind, können Sie mehr darüber erfahren.

Rendern

analysieren

Man kann sich Animation auf drei verschiedenen Ebenen vorstellen:

  • Der untere Text
  • Hintergrund, der den Text in der Mitte blockiert
  • Der obere Cursor

Der Text ist statisch, während der Hintergrund in der Mitte und der Cursor oben dynamisch sind.
Zunächst verdeckt der Hintergrund den gesamten Text und der Cursor steht ganz links.
Im Verlauf der Animation bewegen sich der Hintergrund und der Cursor im gleichen Tempo von links nach rechts.
Wenn die Animation endet, verdeckt der Hintergrund den Text nicht mehr und der Cursor blinkt ganz rechts.

Code

html

<div class="text">Hallo Welt!</div>

CSS

:Wurzel {
    /* Anzahl der Zeichen */
    --Schritte: 12;
    /* Animationszeit */
    --Dauer: 2,5 s;
    /* Schriftgröße */
    --Schriftgröße: 50px;
    /* Cursorgröße */
    --Cursorgröße: 20px;
}

.text {
    Farbe: #333;;
    Position: relativ;
    Anzeige: Inline-Block;
    Schriftfamilie: „Courier New“, Courier, Monospace;
    Schriftgröße: var(--fontSize);
    Zeilenhöhe: 1;
}

.text::nach {
    Inhalt: '';
    Breite: var(--cursorSize);
    Höhe: var(--fontSize);
    Hintergrundfarbe: schwarz;
    Z-Index: 2;
    Position: absolut;
    Animation: Blinken 1s var(--duration) Schritt-Ende unendlich,
               bewegeCursor var(--duration) Schritte(var(--steps)) vorwärts;
}

.text::vor {
    Inhalt: '';
    Breite: 100 %;
    Höhe: var(--fontSize);
    Z-Index: 1;
    Position: absolut;
    Hintergrund: linearer Farbverlauf (#fff, #fff) keine Wiederholung oben rechts;
    Animation: zeigeText var(--duration) Schritte(var(--steps)) vorwärts;
}

/* Cursorblinkanimation*/
@keyframes blinken {
    0% {
        Hintergrundfarbe: schwarz;
    }
    50 % {
        Hintergrundfarbe: transparent;
    }
    100 % {
        Hintergrundfarbe: schwarz;
    }
}

/* Animation der Cursorbewegung*/
@keyframes moveCursor {
    0% {
        links: 0%;
    }
    100 % {
        links: 100 %;
    }
}

/* Bewegte Hintergrundanimation */
@keyframes zeigenText {
    0% {
        Hintergrundgröße: 100 % 100 %;
    }
    100 % {
        Hintergrundgröße: 0 % 100 %;
    }
}

Beachten Sie, dass die Schriftart monospaced sein muss. Denn die Distanz, über die sich der Cursor jedes Mal bewegt, richtet sich nach der Anzahl der Zeichen bzw. der Gesamtbreite.

Online Demo

Dies ist das Ende dieses Artikels darüber, wie Sie Tippeffekte mit reinem HTML+CSS erzielen. Weitere relevante Inhalte zu HTML+CSS-Tippeffekten 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!

<<:  HTML+CSS zum Erreichen eines Surround-Reflexionsladeeffekts

>>:  HTML+CSS zur Implementierung des Beispielcodes des Dropdown-Menüs der Navigationsleiste

Artikel empfehlen

HTML-Tags: Sub-Tag und Sup-Tag

Heute stelle ich zwei HTML-Tags vor, die ich nich...

Der Unterschied zwischen ENTRYPOINT und CMD in Dockerfile

Im Lernprogramm zum Docker-System haben wir geler...

Tutorial zur Installation und Konfiguration der Centos7-MySQL-Datenbank

1. Systemumgebung Die Systemversion nach dem Yum-...

So ändern Sie den Inhalt eines vorhandenen Docker-Containers

1. Docker ps listet Container auf 2. Docker cp ko...

Implementierung des Wasserfall-Layouts im Uni-App-Projekt

GitHub-Adresse, Sie können es mit einem Stern mar...

Detaillierte Erklärung von JavaScript Promise und Async/Await

Inhaltsverzeichnis Überblick Vier Beispiele Beisp...

Der Button hat einen hässlichen grauen Rand. Wie kann ich ihn entfernen?

Ich habe den Dialog beim Schließen verwendet und e...

Einführung in die reaktive Funktion toRef-Funktion ref-Funktion in Vue3

Inhaltsverzeichnis Reaktive Funktion Verwendung: ...

Docker-Bereitstellung von Implementierungsschritten für Flask-Anwendungen

1. Zweck Schreiben Sie lokal eine Flask-Anwendung...

Implementierung einer Bildfragmentierungsladefunktion basierend auf HTML-Code

Heute werden wir einen fragmentierten Bildladeeff...

Detaillierte Erläuterung der asynchronen Axios-Kommunikation in Vue

1. Zuerst erstellen wir eine JSON-Datei zur inter...

Beispielanalyse des Prinzips und der Lösung des MySQL-Gleitreihenfolgeproblems

Dieser Artikel erläutert anhand von Beispielen da...

Native js realisiert das Ziehen und Ablegen des Neun-Quadrat-Rasters

Verwenden Sie natives JS, um ein neuneckiges Rast...