Three ways to achieve text flashing effect in CSS3 Example code

Three ways to achieve text flashing effect in CSS3 Example code

1. Change the transparency to achieve the gradual flashing of text, the effect is as follows:

<!DOCTYPE html>
<html>
<head>
</head>
<title>Text flashing</title>
<body>
<div class="blink">
A single spark can start a prairie fire</div>
</body>
<style>
.myclass{
    	letter-spacing:5px;/*Word spacing*/
    	color: red;
    	font-weight:bold;
    	font-size:46px;
    }
	
/* Define keyframe animation, named blink */
@keyframes blink{
  0%{opacity: 1;}
     
  100%{opacity: 0;} 
}
/* Add compatibility prefix */
@-webkit-keyframes blink {
    0% { opacity: 1; }
    100% { opacity: 0; }
}
@-moz-keyframes blink {
    0% { opacity: 1; }
    100% { opacity: 0; }
}
@-ms-keyframes blink {
    0% {opacity: 1; } 
    100% { opacity: 0;}
}
@-o-keyframes blink {
    0% { opacity: 1; }
    100% { opacity: 0; }
}
/* Define the blink class */
.blink{
	color: red;
	font-size:46px;
    animation: blink 1s linear infinite;  
    /* Other browser compatibility prefixes*/
    -webkit-animation: blink 1s linear infinite;
    -moz-animation: blink 1s linear infinite;
    -ms-animation: blink 1s linear infinite;
    -o-animation: blink 1s linear infinite;
}
<style>
</html>
 

If we don’t need a gradual flashing effect, we can define opacity values ​​of 50% and 50.1% in the keyframe animation. as follows:

    @-webkit-keyframes blink {
        0% { opacity: 1; }
        50% { opacity: 1; }
        50.01% { opacity: 0; }
        100% { opacity: 0; }
    }

2. Use background images or background gradients to achieve a flashing effect on text color. Rendering:

<!DOCTYPE html>  
<html>  
    <head>  
        <meta charset="UTF-8">  
        <title></title>  
        <style type="text/css">  
        .blink{ 
    	display: inline-block;
    	font-size: 46px;
    	margin: 10px;
    	background: linear-gradient(left, #f71605, #e0f513); 
        background: -webkit-linear-gradient(left, #f71605, #e0f513);
        background: -o-linear-gradient(right, #f71605, #e0f513);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		animation:scratchy 0.253s linear forwards infinite;
		/* Other browser compatibility prefixes*/
	    -webkit-animation:scratchy 0.253s linear forwards infinite;
	    -moz-animation: scratchy 0.253s linear forwards infinite;
	    -ms-animation: scratchy 0.253s linear forwards infinite;
	    -o-animation: scratchy 0.253s linear forwards infinite;
    }  
   @keyframes scratchy {
		0% {
			background-position: 0 0;
		}
		25% {
			background-position: 0 0;
		}
		26% {
			background-position: 20px -20px;
		}
		50% {
			background-position: 20px -20px;
		}
		51% {
			background-position: 40px -40px;
		}
		75% {
			background-position: 40px -40px;
		}
		76% {
			background-position: 60px -60px;
		}
		99% {
			background-position: 60px -60px;
		}
		100% {
			background-position: 0 0;
		}
	}
	/* Add compatibility prefix */
	@-webkit-keyframes scratchy {
	    0% {
			background-position: 0 0;
		}
		25% {
			background-position: 0 0;
		}
		26% {
			background-position: 20px -20px;
		}
		50% {
			background-position: 20px -20px;
		}
		51% {
			background-position: 40px -40px;
		}
		75% {
			background-position: 40px -40px;
		}
		76% {
			background-position: 60px -60px;
		}
		99% {
			background-position: 60px -60px;
		}
		100% {
			background-position: 0 0;
		}
	}
	@-moz-keyframes scratchy {
	    0% {
			background-position: 0 0;
		}
		25% {
			background-position: 0 0;
		}
		26% {
			background-position: 20px -20px;
		}
		50% {
			background-position: 20px -20px;
		}
		51% {
			background-position: 40px -40px;
		}
		75% {
			background-position: 40px -40px;
		}
		76% {
			background-position: 60px -60px;
		}
		99% {
			background-position: 60px -60px;
		}
		100% {
			background-position: 0 0;
		}
	}
	@-ms-keyframes scratchy {
	   0% {
			background-position: 0 0;
		}
		25% {
			background-position: 0 0;
		}
		26% {
			background-position: 20px -20px;
		}
		50% {
			background-position: 20px -20px;
		}
		51% {
			background-position: 40px -40px;
		}
		75% {
			background-position: 40px -40px;
		}
		76% {
			background-position: 60px -60px;
		}
		99% {
			background-position: 60px -60px;
		}
		100% {
			background-position: 0 0;
		}
	}
	@-o-keyframes scratchy {
	   0% {
			background-position: 0 0;
		}
		25% {
			background-position: 0 0;
		}
		26% {
			background-position: 20px -20px;
		}
		50% {
			background-position: 20px -20px;
		}
		51% {
			background-position: 40px -40px;
		}
		75% {
			background-position: 40px -40px;
		}
		76% {
			background-position: 60px -60px;
		}
		99% {
			background-position: 60px -60px;
		}
		100% {
			background-position: 0 0;
		}
	}
    </style>  
    </head>  
    <body>  
        <div class="blink">A single spark can start a prairie fire</div>
    </body>  
</html>

3. By setting the value of text-shadow, you can achieve the effect of text shadow flashing, as shown in the effect diagram:

<!DOCTYPE html>  
<html>  
    <head>  
        <meta charset="UTF-8">  
        <title></title>  
        <style type="text/css">  
        .blink{ 
    	font-size: 46px; 
    	color:#4cc134; 
    	margin: 10px;
    	animation: changeshadow 1s ease-in infinite ;
    	/* Other browser compatibility prefixes*/
	    -webkit-animation: changeshadow 1s linear infinite;
	    -moz-animation: changeshadow 1s linear infinite;
	    -ms-animation: changeshadow 1s linear infinite;
	    -o-animation: changeshadow 1s linear infinite;
    }  
    @keyframes changeshadow {  
        0%{ text-shadow: 0 0 4px #4cc134}  
        50%{ text-shadow: 0 0 40px #4cc134}  
        100%{ text-shadow: 0 0 4px #4cc134}  
    }
    /* Add compatibility prefix */
	@-webkit-keyframes changeshadow {
	  0%{ text-shadow: 0 0 4px #4cc134}  
          50%{ text-shadow: 0 0 40px #4cc134}  
          100%{ text-shadow: 0 0 4px #4cc134}  
	}
	@-moz-keyframes changeshadow {
	    0%{ text-shadow: 0 0 4px #4cc134}  
            50%{ text-shadow: 0 0 40px #4cc134}  
            100%{ text-shadow: 0 0 4px #4cc134}  
	}
	@-ms-keyframes changeshadow {
	    0%{ text-shadow: 0 0 4px #4cc134}  
            50%{ text-shadow: 0 0 40px #4cc134}  
            100%{ text-shadow: 0 0 4px #4cc134}  
	}
	@-o-keyframes changeshadow {
	    0%{ text-shadow: 0 0 4px #4cc134}  
            50%{ text-shadow: 0 0 40px #4cc134}  
            100%{ text-shadow: 0 0 4px #4cc134}  
	}
    </style>  
    </head>  
    <body>  
        <div class="blink">A single spark can start a prairie fire</div>
    </body>  
</html>

Thanks to the blog: https://blog.csdn.net/art_people/article/details/104768666/

This concludes this article about three ways to achieve text flashing effects with CSS3 and sample codes. For more relevant CSS3 text flashing content, please search 123WORDPRESS.COM’s previous articles or continue browsing the following related articles. I hope you will support 123WORDPRESS.COM in the future!

<<:  Solution to the ineffective margin of div nested in HTML

>>:  Detailed explanation of JavaScript's Set data structure

Recommend

js to realize login and registration functions

This article example shares the specific code of ...

How to reset the root password of Mysql in Windows if you forget it

My machine environment: Windows 2008 R2 MySQL 5.6...

HTML user registration page settings source code

Design the web page shown above: <!DOCTYPE htm...

Vue2 cube-ui time selector detailed explanation

Table of contents Preface 1. Demand and Effect ne...

A detailed introduction to the Linux directory structure

When you first start learning Linux, you first ne...

Example code for implementing dotted border scrolling effect with CSS

We often see a cool effect where the mouse hovers...

Common CSS Errors and Solutions

Copy code The code is as follows: Difference betw...

Life cycle and hook functions in Vue

Table of contents 1. What is the life cycle 2. Th...

Summary of essential knowledge points for MySQL query optimization

Preface Query optimization is not something that ...

5 commonly used objects in JavaScript

Table of contents 1. JavaScript Objects 1).Array ...

The meaning and calculation method of QPS and TPS of MySQL database

When doing DB benchmark testing, qps and tps are ...

MySQL 5.7.18 installation tutorial under Windows

This article explains how to install MySQL from a...

Detailed explanation of software configuration using docker-compose in linux

Preface This article will share some docker-compo...

Summary of MySQL lock knowledge points

The concept of lock ①. Lock, in real life, is a t...

Centos7 installation of MySQL8 tutorial

MySQL 8 new features: My personal opinion on MySQ...