Lädt...


🔧 Text Typing Effect in HTML CSS and Vanilla JavaScript


Nachrichtenbereich: 🔧 Programmierung
🔗 Quelle: dev.to

Have you ever come across that cool text typing effect on different websites where the words appear as if they’re being typed out? If you’re a beginner web developer, you might wonder how to create such an eye-catching animation on your own. Well, it’s a simple yet impressive effect that can be achieved using just HTML, CSS, and JavaScript.

In this blog post, I’ll guide you through the steps of creating this text-typing animation using HTML, CSS, and Vanilla JavaScript. This means we don’t rely on any external JavaScript libraries like typed.js. So you’ll gain a deep understanding of how this type of typing animation is created and how you can apply your skills to real-world web projects.

In this typing animation, each letter of the word appears after the other, creating a typewriter effect. There is also a blinking caret animation at the end of the word to make the effect more attractive. To know more about what our typing text animation looks like, you can watch the given YouTube video.

Video Tutorial of Text Typing Effect HTML & JavaScript

If you enjoy learning through video tutorials, the above YouTube video is an excellent resource. In the video, I’ve explained each line of code and provided informative comments to make the process of creating your own text-typing animation beginner-friendly and easy to follow.

However, if you like reading blog posts or want a step-by-step guide for creating this effect, you can continue reading this post. By the end of this post, you’ll have your own customizable text typing effect that you can easily use on your other projects.

Steps to Create Text Typing Animation in HTML & JavaScript

To create a custom text typing effect using HTML, CSS, and vanilla JavaScript, follow these simple step-by-step instructions:

  • Create a folder. You can name this folder whatever you want, and inside this folder, create the mentioned files.
  • Create an index.html file. The file name must be index and its extension .html
  • Create a style.css file. The file name must be style and its extension .css
  • Create a script.js file. The file name must be script and its extension .js

To start, add the following HTML codes to your index.html file. This code includes essential HTML markup with <h1> and <span> tags, which we’ll use for the typing effect. Currently, the <span> element is empty, but using JavaScript, we’ll dynamically add the custom typing word.

<!DOCTYPE html>
<!-- Coding By CodingNepal - www.codingnepalweb.com -->
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Typing Text Effect | CodingNepal</title>
    <link rel="stylesheet" href="style.css">
    <script src="script.js" defer></script>
</head>
<body>
    <h1>Coding is <span></span></h1>
</body>
</html>

Next, add the following CSS codes to your style.css file to apply visual styling to your text like color, font, border, background, etc. Now, if you load the web page in your browser, you will see styled static text with blinking caret animation.

/* Importing Google font - Inter */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Inter", sans-serif;
}

body {
    display: flex;
    height: 100vh;
    align-items: center;
    justify-content: center;
    background: #1D1E23;
}

h1 {
    color: #fff;
    font-size: 2rem;
    font-weight: 600;
}

h1 span {
    color: #BD53ED;
    position: relative;
}

h1 span::before {
    content: "";
    height: 30px;
    width: 2px;
    position: absolute;
    top: 50%;
    right: -8px;
    background: #BD53ED;
    transform: translateY(-45%);
    animation: blink 0.7s infinite;
}

h1 span.stop-blinking::before {
    animation: none;
}

@keyframes blink {
    50% { opacity: 0 }
}

Finally, add the following JavaScript code to your script.js file. These scripts include different JavaScript functions, variables, methods, and others that are responsible for creating the text-typing effect.

const dynamicText = document.querySelector("h1 span");
const words = ["Love", "like Art", "the Future", "Everything"];

// Variables to track the position and deletion status of the word
let wordIndex = 0;
let charIndex = 0;
let isDeleting = false;

const typeEffect = () => {
    const currentWord = words[wordIndex];
    const currentChar = currentWord.substring(0, charIndex);
    dynamicText.textContent = currentChar;
    dynamicText.classList.add("stop-blinking");

    if (!isDeleting && charIndex < currentWord.length) {
        // If condition is true, type the next character
        charIndex++;
        setTimeout(typeEffect, 200);
    } else if (isDeleting && charIndex > 0) {
        // If condition is true, remove the previous character
        charIndex--;
        setTimeout(typeEffect, 100);
    } else {
        // If word is deleted then switch to the next word
        isDeleting = !isDeleting;
        dynamicText.classList.remove("stop-blinking");
        wordIndex = !isDeleting ? (wordIndex + 1) % words.length : wordIndex;
        setTimeout(typeEffect, 1200);
    }
}

typeEffect();

In the above code, you can see there is a “words” array that contains a list of phrases used for the typing animation, some global variables used to track typing status, and a function with an if/else condition to initiate the typing and erasing effects. To understand JavaScript code better, I recommend watching the above video tutorial, paying close attention to the code comments, and experimenting with the code.

Conclusion and Final words

In conclusion, creating a text-typing animation is a valuable and useful web project. I believe that by following the steps outlined in this blog post, you’ve successfully created your own text-typing effect using HTML, CSS, and JavaScript.

To further improve your web development skills, I recommend you try recreating the same text-typing animation using only HTML and CSS. By creating this effect, you’ll gain a better understanding of how CSS properties and animations are used to create cool text typing effects.

If you encounter any problems while creating your text-typing effect, you can download the source code files for this project for free by clicking the Download button. You can also view a live demo of it by clicking the View Live button.

View Live Demo

Download Code Files

...

🔧 Text Typing Effect in HTML CSS and Vanilla JavaScript


📈 71.33 Punkte
🔧 Programmierung

🔧 Text Typing Effect Using HTML CSS Only


📈 47.38 Punkte
🔧 Programmierung

🔧 Creating an animated text gradient with Tailwind CSS (and vanilla CSS)


📈 41.48 Punkte
🔧 Programmierung

🔧 Choosing the Right CSS Approach: Tailwind CSS vs Bootstrap vs Vanilla CSS


📈 40.28 Punkte
🔧 Programmierung

🔧 Introduction of CSS, What is CSS, Why we use CSS and How CSS describe the HTML elements


📈 38.68 Punkte
🔧 Programmierung

🔧 How to Build a Weather App with HTML,CSS and Vanilla JavaScript


📈 36.68 Punkte
🔧 Programmierung

🔧 How to create typing effect with CSS fully explained!


📈 35.07 Punkte
🔧 Programmierung

🔧 How to create a typewriter effect text animation with Tailwind CSS and JavaScript


📈 35 Punkte
🔧 Programmierung

🔧 How to create a particle text effect with Tailwind CSS and JavaScript


📈 35 Punkte
🔧 Programmierung

🔧 2 UX tips for self-typing text effect


📈 34.66 Punkte
🔧 Programmierung

🔧 Converting Plain Text To Encoded HTML With Vanilla JavaScript


📈 34.65 Punkte
🔧 Programmierung

🔧 Stunning 3D Text Effect Using HTML And CSS


📈 33.21 Punkte
🔧 Programmierung

🔧 🌟 Why You Should Use a CSS Preprocessor (SCSS) Over Vanilla CSS


📈 32.16 Punkte
🔧 Programmierung

🔧 Tailwind CSS vs. Vanilla CSS: When to Use Each for Your Web Development Projects


📈 32.16 Punkte
🔧 Programmierung

📰 Vanilla OS: More Than Just Vanilla GNOME With Ubuntu


📈 31.87 Punkte
📰 IT Security Nachrichten

🐧 Vanilla OS developers are setting up a testing infrastructure based on Debian sid for Vanilla OS 2.0, Orchid.


📈 31.87 Punkte
🐧 Linux Tipps

🐧 Vib (Vanilla Image Builder) is Vanilla OS's tool for building container images using YAML recipes.


📈 31.87 Punkte
🐧 Linux Tipps

🐧 Ttyper: A Terminal-based Typing Test To Improve Typing Speed


📈 31.56 Punkte
🐧 Linux Tipps

🍏 How to improve your typing skills with KeyKey Typing Tutor


📈 31.56 Punkte
🍏 iOS / Mac OS

🍏 Master of Typing 3.14.1 - Learn touch typing.


📈 31.56 Punkte
🍏 iOS / Mac OS

🐧 Glyphica: Typing Survival brings typing games into the survivor-like era


📈 31.56 Punkte
🐧 Linux Tipps

🔧 Dynamic Typing vs. Static Typing: Which is Better?


📈 31.56 Punkte
🔧 Programmierung

🔧 Vite Vanilla JavaScript with Tailwind CSS


📈 30.45 Punkte
🔧 Programmierung

🔧 CSS Text Transform: You Don't Need JavaScript to Capitalize Your Text


📈 29.91 Punkte
🔧 Programmierung

🔧 Build a Tic Tac Toe Game using HTML, CSS, JavaScript, Tailwind CSS and Canvas Confetti


📈 28.85 Punkte
🔧 Programmierung

🔧 10 Best Websites for Free HTML Templates Vanilla CSS


📈 28.66 Punkte
🔧 Programmierung

🔧 Create a Magical Night Sky Effect with CSS and JavaScript


📈 27.3 Punkte
🔧 Programmierung

🔧 Vanilla JS Effect Methods


📈 27.11 Punkte
🔧 Programmierung

🔧 Create a gradient text effect like Vercel with CSS


📈 26.99 Punkte
🔧 Programmierung

🐧 Outline Effect to Text – CSS


📈 26.99 Punkte
🐧 Linux Tipps

🔧 CSS Liquid Text Effect


📈 26.99 Punkte
🔧 Programmierung

🔧 CSS Liquid Text Effect


📈 26.99 Punkte
🔧 Programmierung

matomo