首页 > web前端 > css教程 > 正文

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

青灯夜游
发布: 2021-08-30 15:12:50
原创
4692人浏览过

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

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

我们先来看看效果图:

1.gif

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

立即学习前端免费学习笔记(深入)”;

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

<h1>Hello World !</h1>
登录后复制

1.png

然后开始定义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; 
}
登录后复制

2.png

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;
登录后复制

3.png

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);
登录后复制

4.png

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

给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);

  }
}
登录后复制

5.gif

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

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

6.gif

给它添加一个动画效果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;
  }
}
登录后复制

7.gif

下面给出完整代码:



	
		
		
	
	
		<h1>Hello World !</h1>
	
登录后复制

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

以上就是利用css制作有趣的文字摆动动画特效的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
css
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号