JS框架_(Typed.js)彩色霓虹灯发光文字动画

百度云盘  传送门  密码:8oei

发光文字动画效果:

JS框架_(Typed.js)彩色霓虹灯发光文字动画

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery+CSS3彩色霓虹灯发光文字动画特效</title> <script src="js/jquery.min.js"></script> <style>
body {
height: 100vh;
box-sizing: border-box;
background: #333;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
overflow-y: hidden;
}
body p{
color: #555;
font-family: 'Quicksand', sans-serif;
font-weight: 900;
}
body p i{
transition: .5s;
}
.fa-codepen{
-webkit-animation: fade 3s infinite alternate;
-moz-animation: fade 3s infinite alternate;
-o-animation: fade 3s infinite alternate;
animation: fade 3s infinite alternate;
}
a{
color: #ddd;
}
span {
font-size: 6em;
font-family: "Quicksand", sans-serif;
font-weight: 500;
color: #ddd;
transition: .25s;
}
.pink {
position: absolute;
text-shadow:
2px 2px 1px rgba(0,0,0,.4),
0 0 20px #fe3a80,
0 0 40px rgba(255, 0, 91, .75),
0 0 50px rgba(255, 0, 91, .75),
0 0 100px rgba(255, 0, 91, .75); }
.pink:before{
content:'';
position: absolute;
background: rgba(254, 58, 128, .25);
z-index: -1;
opacity: .7;
filter: blur(50px);
width: 100%;
height: 100%;
}
.green {
position: absolute;
text-shadow: 2px 2px 1px rgba(0,0,0,.4),
0 0 20px #69F0AE,
0 0 40px rgba(0, 230, 118, .75),
0 0 50px rgba(0, 230, 118, .75),
0 0 100px rgba(0, 230, 118, .75); }
.green:before{
content:'';
position: absolute;
background: rgba(105, 240, 174, .25);
z-index: -1;
opacity: .7;
filter: blur(30px);
width: 100%;
height: 100%;
}
.blue {
position: absolute;
text-shadow:
2px 2px 1px rgba(0,0,0,.4),
0 0 20px #42A5F5,
0 0 40px rgba(33, 150, 243, .75),
0 0 50px rgba(33, 150, 243, .75),
0 0 60px rgba(33, 150, 243, .75); }
.blue:before{
content:'';
position: absolute;
background: rgba(66, 165, 245, .25);
z-index: -1;
opacity: .7;
filter: blur(30px);
width: 100%;
height: 100%;
}
.buttons{
margin-bottom: auto;
margin-top: 20px;
}
button{
margin: 0 5px;
padding: 10px;
letter-spacing: 1px;
background: none;
border: 2px solid #444;
height: 2.25em;
border-radius: 2.25em;
color: #444;
font-size: 1.25em;
font-weight: bold;
text-transform: uppercase;
transition: .5s;
outline: none;
}
button:nth-child(1):hover{
/*Green*/
color: #00E676;
text-shadow: 0 0 7px #00E676;
border-color: #00E676;
box-shadow: 0 0 15px #00E676, inset 0 0 15px #00E676;
}
button:nth-child(2):hover{
/*Pink*/
color: #ff005b;
text-shadow: 0 0 7px #ff005b;
border-color: #ff005b;
box-shadow: 0 0 15px #ff005b, inset 0 0 15px #ff005b;
}
button:nth-child(3):hover{
/*Blue*/
color: #2196F3;
text-shadow: 0 0 7px #2196F3;
border-color: #2196F3;
box-shadow: 0 0 15px #2196F3, inset 0 0 15px #2196F3;
}
/*Animation*/
@-moz-keyframes fade {
40% {
opacity: 0.8;
}
42% {
opacity: 0.1;
}
43% {
opacity: 0.8;
}
45% {
opacity: 0.1;
}
46% {
opacity: 0.8;
}
}
@-webkit-keyframes fade {
40% {
opacity: 0.8;
}
42% {
opacity: 0.1;
}
43% {
opacity: 0.8;
}
45% {
opacity: 0.1;
}
46% {
opacity: 0.8;
}
}
@-o-keyframes fade {
40% {
opacity: 0.8;
}
42% {
opacity: 0.1;
}
43% {
opacity: 0.8;
}
45% {
opacity: 0.1;
}
46% {
opacity: 0.8;
}
}
@keyframes fade {
40% {
opacity: 0.8;
}
42% {
opacity: 0.1;
}
43% {
opacity: 0.8;
}
45% {
opacity: 0.1;
}
46% {
opacity: 0.8;
}
}
</style>
</head>
<body><script src="/demos/googlegg.js"></script> <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Quicksand"> <script src="js/typed.min.js"></script> <div class="buttons">
<button onClick="colorChange(colors[0][0],colors[0][1] )">Green</button>
<button onClick="colorChange(colors[2][0], colors[2][1])">Pink</button>
<button onClick="colorChange(colors[1][0], colors[1][1])">
Blue
</button>
</div>
<div id="typedStrings">
<p>Welcome!</p>
<p>Gary</p>
<p>欢迎O(∩_∩)O~</p>
</div>
<span id="span"></span> <script type="text/javascript">
$("#span").typed({
stringsElement: $("#typedStrings"),
typeSpeed: 70,
showCursor: false,
contentType: "html"
});
var colors = [["green","#00E676"], ["blue","#2196F3"], ["pink", "#ff005b"]];
var randomColor = colors[Math.floor(Math.random() * colors.length)];
var initialColor = randomColor[0];
var initialHeartColor = randomColor[1];
function colorChange(color, heart){
$('#span').attr('class', '').addClass(color);
$('body p i').css('color', initialHeartColor);
$('body p i').css('color', heart);
}
colorChange(initialColor);
</script> </div>
</body>
</html>

index.html

实现过程:

CSS样式

body {
height: 100vh;
box-sizing: border-box;
background: #333;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
overflow-y: hidden;
}

justify-content:在弹性盒对象的 <div> 元素中的各项周围留有空白  传送门

overflow-y:属性规定是否对内容的上/下边缘进行裁剪

 参数hidden:裁剪内容 - 不提供滚动机制  传送门

animation:将动画与 div 元素绑定  传送门

text-shadow:向文本设置阴影  传送门

opacity:value  规定不透明度。从 0.0 (完全透明)到 1.0(完全不透明)  传送门

filter :定义了元素模糊与饱和度  传送门

三个按钮CSS样式

button:nth-child(1):hover{
/*Green*/
color: #00E676;
text-shadow: 0 0 7px #00E676;
border-color: #00E676;
box-shadow: 0 0 15px #00E676, inset 0 0 15px #00E676;
}
button:nth-child(2):hover{
/*Pink*/
color: #ff005b;
text-shadow: 0 0 7px #ff005b;
border-color: #ff005b;
box-shadow: 0 0 15px #ff005b, inset 0 0 15px #ff005b;
}
button:nth-child(3):hover{
/*Blue*/
color: #2196F3;
text-shadow: 0 0 7px #2196F3;
border-color: #2196F3;
box-shadow: 0 0 15px #2196F3, inset 0 0 15px #2196F3;
}

text-shadow:向文本设置阴影  传送门

border-color: 设置4 个边框的颜色  传送门

1个参数
border-color:red;
所有 4 个边框都是红色 2个参数
border-color:dotted red green;
上边框和下边框是红色
右边框和左边框是绿色 border-color:red green blue;
上边框是红色
右边框和左边框是绿色
下边框是蓝色 border-color:red green blue pink;
上边框是红色
右边框是绿色
下边框是蓝色
左边框是粉色

border-color参数属性值

box-shadow:设置一个或多个下拉阴影的框  传送门

opacity:设置 div 元素的不透明级别  传送门

(制作彩色霓虹灯发光文字动画关键!)

引入typed.js并添加自定义改变颜色函数colorChange(color, heart)

<script type="text/javascript">
$("#span").typed({
stringsElement: $("#typedStrings"),
typeSpeed: 70,
showCursor: false,
contentType: "html"
});
var colors = [["green","#00E676"], ["blue","#2196F3"], ["pink", "#ff005b"]];
var randomColor = colors[Math.floor(Math.random() * colors.length)];
var initialColor = randomColor[0];
var initialHeartColor = randomColor[1];
function colorChange(color, heart){
$('#span').attr('class', '').addClass(color);
$('body p i').css('color', initialHeartColor);
$('body p i').css('color', heart);
}
colorChange(initialColor);
</script>

将按钮绑定js事件

<div class="buttons">
<button onClick="colorChange(colors[0][0],colors[0][1] )">Green</button>
<button onClick="colorChange(colors[2][0], colors[2][1])">Pink</button>
<button onClick="colorChange(colors[1][0], colors[1][1])">Blue</button>
</div>
上一篇:tomcat-8.0


下一篇:仿知乎/途家导航栏渐变文字动画效果-b