700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 利用css制作有趣的文字摆动动画特效

利用css制作有趣的文字摆动动画特效

时间:2024-02-04 17:37:07

相关推荐

利用css制作有趣的文字摆动动画特效

web前端|css教程

css,文字摆动,动画,特效

web前端-css教程

前文《超实用!利用CSS3将两个图片叠加在一起显示》中,我们分享了两种利用CSS3将两个图片叠加融合在一起显示的特效。这次我们给大家介绍一下利用CSS如何制作文字摆动动画特效,感兴趣的可以学习了解一下~

易语言钓鱼盗号源码下载,ubuntu终端光标移动,怎么去除家里爬虫,php焊接,seo 扩展程序lzw

文本文字是网页中最常见的一种组成部分,给文字添加动画效果可以让网页更加吸引人,今天就来给大家分享一款css标题文字摆动动画特效,快来看看。

简单的crm系统源码,ubuntu打包教程,tomcat服务添加注册表,爬虫猜什么生肖,php开发网站用什么技术外包,seo 技术优化lzw

我们先来看看效果图:

苹果cmsv10免费源码,ubuntu终端快去命令,地爬虫怎么杀死,php防止灌水,网站seo执行lzw

下面我们来研究一下是怎么实现这个效果的:

首先创建HTML部分,定义一个包含文本的h1大标题

Hello World !

然后开始定义css样式来进行修饰:

背景颜色

body { background: black;}

h1标题文本样式,利用text-stroke属性添加白色描边

h1 {text-align: center;margin: 200px auto;font-size: 4.5rem;font-family: arial;font-weight: 900;color: transparent;overflow: hidden;-webkit-text-stroke: 4px white; }

h1标题文本样式,利用background系列属性和linear-gradient()添加文本背景

background: linear-gradient(45deg, black 30%, transparent 30%, transparent 70%, black 70%), linear-gradient(-45deg, black 30%, transparent 30%, transparent 70%, black 70%), linear-gradient(90deg, crimson 30%, transparent 30%, transparent 70%, crimson 70%)red;background-size: 20px 20px, 20px 20px, 1px 1px;background-position: 0 0, 0 0, 0 0;-webkit-background-clip: text;

h1标题文本样式,利用filter属性添加边框阴影

filter: drop-shadow(0 0 1px black)drop-shadow(0 0 1px black)drop-shadow(0 0 1px black)drop-shadow(0 0 1px black)drop-shadow(0 0 1px black)drop-shadow(0 0 1px black)drop-shadow(0 0 1px black)drop-shadow(0 0 1px black)drop-shadow(0 0 2px crimson);

接着是添加动画效果,让文字摆动起来,且文字背景也动起来(实现移位效果):

给h1标签绑定animation动画,设置两个动画bg-shifth和swing:bg-shifth动画控制文字背景,swing动画控制文字摆动

animation: bg-shift 1s ease-in-out infinite alternate-reverse, swing 2s ease-in-out infinite;

使用两个@keyframes规则,给两个动画设置每一帧的动作即可。

@keyframes bg-shift { from {background-position: 0 50px; }}@keyframes swing { 0% {transform-origin: top;transform: perspective(550px)rotatex(55deg); } 50% {transform: perspective(550px)rotatex(-55deg); } 100% {transform-origin: top;transform: perspective(550px)rotatex(55deg); }}

最后,最终效果在摆动时,有高光效果,我们来实现一下:

h1::before { content: "Hello World !"; position: absolute; background: linear-gradient(transparent 30%, white, transparent 70%); -webkit-background-clip: text; -webkit-text-stroke: 2px red;}

给它添加一个动画效果bg-shift2,让它随着文字摆动变化位置:

animation: bg-shift2 2s ease-in-out infinite alternate-reverse;

使用@keyframes规则,给动画设置每一帧的动作即可。

@keyframes bg-shift2 { 0% {background-position: 0 50px; } 50% {background-position: 0 -50px; } 100% {background-position: 0 50px; }}

下面给出完整代码:

body {background: black;/* overflow: hidden; */}h1 {text-align: center;margin: 200px auto;font-size: 4.5rem;font-family: arial;font-weight: 900;color: transparent;overflow: hidden;-webkit-text-stroke: 4px white;background: linear-gradient(45deg, black 30%, transparent 30%, transparent 70%, black 70%), linear-gradient(-45deg, black 30%, transparent 30%, transparent 70%, black 70%), linear-gradient(90deg, crimson 30%, transparent 30%, transparent 70%, crimson 70%)red;background-size: 20px 20px, 20px 20px, 1px 1px;background-position: 0 0, 0 0, 0 0;-webkit-background-clip: text;filter: drop-shadow(0 0 1px black)drop-shadow(0 0 1px black)drop-shadow(0 0 1px black)drop-shadow(0 0 1px black)drop-shadow(0 0 1px black)drop-shadow(0 0 1px black)drop-shadow(0 0 1px black)drop-shadow(0 0 1px black)drop-shadow(0 0 2px crimson);animation: bg-shift 1s ease-in-out infinite alternate-reverse, swing 2s ease-in-out infinite;}@keyframes bg-shift {from {background-position: 0 50px;}}@keyframes swing {0% {transform-origin: top;transform: perspective(550px)rotatex(55deg);}50% {transform: perspective(550px)rotatex(-55deg);}100% {transform-origin: top;transform: perspective(550px)rotatex(55deg);}}h1::before {content: "Hello World !";position: absolute;background: linear-gradient(transparent 30%, white, transparent 70%);-webkit-background-clip: text;-webkit-text-stroke: 2px red;animation: bg-shift2 2s ease-in-out infinite alternate-reverse;}@keyframes bg-shift2 {0% {background-position: 0 50px;}50% {background-position: 0 -50px;}100% {background-position: 0 50px;}}

Hello World !

PHP中文网平台有非常多的视频教学资源,欢迎大家学习《css视频教学》!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。