前端深入之css篇丨初探【transform】,手把手带你实现1024程序员节动画
写在前面
马上就2020年了,不知道小伙伴们今年学习了css3动画了吗?
说起来css动画是一个很尬的事,一方面因为公司用css动画比较少,另一方面大部分开发者习惯了用JavaScript来做动画,所以就导致了许多程序员比较排斥来学习css动画(至少我是),但是一个不懂css动画的前端工程师不能称之为掌握css3,其实当你真正学习css动画之后,你会被它的魅力所吸引的,它可以减少代码量、提高性能。
值此1024程序员佳节之际,我特此推出供同学们学习的动画小案例,这个案例非常简单,但是他可有帮我们巩固上一篇学的animation,并且能够让你对后面要学习的animation有一个基本的认识。
话不多说,跟我开始吧。
1024动画案例
这就是我们最终要实现的效果,还是比较简单的,拿来当做一个入门动画的小案例再好不过了。
搭建静态页
<style>
.outBox ul{
display: flex;
}
.outBox li{
list-style: none;
margin: 20px;
font-size: 120px;
position: relative;
top: 0px;
color:#fff;
}
</style>
<body>
<div class="outBox">
<ul>
<li>1</li>
<li>0</li>
<li>2</li>
<li>4</li>
</ul>
</div>
</body>
写完之后你就会在屏幕上得到1024四个大字,因为我们要做凭空出现的跳跃效果,所以我们把它的颜色设置为了白色。
制作简单动画
.outBox li:nth-child(1){
animation: myMove 1.5s ease alternate infinite ;
}
.outBox li:nth-child(2){
animation: myMove 1.5s ease 0.5s alternate infinite ;
}
.outBox li:nth-child(3){
animation: myMove 1.5s ease 1s alternate infinite ;
}
.outBox li:nth-child(4){
animation: myMove 1.5s ease 1.5s alternate infinite ;
}
@keyframes myMove{
0%{
color: rgb(229, 255, 80);
top: 160px;
}
50%{
color:rgb(2, 150, 200);
top: 0px;
}
100%{
color: rgb(255, 106, 198);
top: 160px;
}
}
加入这些代码,就会使每个数字都产生上下的动画了,然后每个数字依次跳出来展示,并在其中变换颜色。由于都是上一个文章的内容,在这里我就不再赘述了。
最终效果
@keyframes myMove{
0%{
color: rgb(229, 255, 80);
top: 160px;
transform: rotateY(0deg) scale(1.0);
}
50%{
color:rgb(2, 150, 200);
top: 0px;
transform: rotateY(180deg) scale(1.5);
}
100%{
color: rgb(255, 106, 198);
top: 160px;
transform: rotateY(0deg) scale(1.0);
}
}
然后再在每个状态里加入
transform: rotateY(xxdeg) scale(1.0);就可以实现文章开始的图片效果了。
这里我们接触到了transform属性,也就是变形属性,其中rotateY(0deg)的意思是以Y轴为对称轴进行旋转,括号中间的内容是旋转角度。中scale(1.0)是操作放大缩小用的,括号中的内容负责大小。放到案例中的意思就是开始默认大小、默认角度,运行到中间文字左右对称翻转并且变大,再到运行结束改变成初始阶段。
结论
看完这篇文章你会发现实现一个动画其实很简单,尤其是在你学会了animation之后,上道了学习transform自然简单。translate(移动)以及transform(变形)其实并不是制作动画的,只是变形和移动在动画中经常会使用到,而且人们经常把这几个属性搞混,所以我拿他们一起来进行了讲解。这个案例只是响应1024推出的练习案例,希望和我一起在学习css动画的同学可以独自写一写代码,相信你们一定能够对动画有自己的理解的,同时对接下来的学习也会起到很大的帮助。跟进我的脚步吧,跟我一起在2020年前掌握css动画!
结语
以上就是本文章的全部内容了,如果有不正确的地方欢迎指正。
感谢您的阅读,如果感觉有用不妨点赞/转发。
前端深入系列是一个踩坑系列,是由我本人对工作和学习中所遇到的问题和踩过的坑的一个探索与总结,在此记录分享出去,同时也是对自我技能的一个反思和追问。
前端路漫,踩坑不断。
前端深入系列持续更新中……
以上2019-10-24。
前端深入之css篇丨初探【transform】,手把手带你实现1024程序员节动画的更多相关文章
- 前端深入之css篇丨2020年前,彻底掌握css动画【animation】
写在前面 马上就2020年了,不知道小伙伴们今年学习了css3动画了吗? 说起来css动画是一个很尬的事,一方面因为公司用css动画比较少,另一方面大部分开发者习惯了用JavaScript来做动画,所 ...
- 前端深入之css篇丨2020年前,彻底掌握css动画
马上就2020年了,不知道小伙伴们今年学习了css3动画了吗? 说起来css动画是一个很尬的事,一方面因为公司用css动画比较少,另一方面大部分开发者习惯了用JavaScript来做动画,所以就导致了 ...
- 前端深入之css篇丨2020年前,彻底掌握css动画【transition】
写在前面 马上就2020年了,不知道小伙伴们今年学习了css3动画了吗? 说起来css动画是一个很尬的事,一方面因为公司用css动画比较少,另一方面大部分开发者习惯了用JavaScript来做动画,所 ...
- [转] Web前端优化之 CSS篇
原文链接: http://lunax.info/archives/3097.html Web 前端优化最佳实践第四部分面向 CSS.目前共计有 6 条实践规则.另请参见 Mozilla 开发者中心的文 ...
- 前端开发之css篇
一.css简介 css(Cascading Style Sheets)层叠样式表,是一种为html文档添加样式的语言,主要有两个功能:渲染和布局.使用css主要关注两个点:查找到标签,属性操作 二.c ...
- 前端深入之css篇|link和@import到底有什么区别?
写在前面 在真正的前端开发中,我们很少去写行内样式和内嵌样式,通常都是去引用外部样式. 而在我们学习之初的外部样式表都是用link引入的,但是当后来我们学习的逐渐深入,发现@import也可以引入样式 ...
- 前端深入之css篇|你真的了解“权重”吗?
写在前面 权重这个概念,相信对许多进行过前端开发的小伙伴来说肯定并不陌生,有时候一个样式添加不上,我们就会一个 !important 怼上去,一切就好像迎刃而解了.但还有的时候,!important也 ...
- 前端深入之js篇丨Array数组操作从入门到成神Up Up Up,持续更新中
写在前面 随着前端深入的不断学习,发现数组这个数据结构在前端中有着相当大的存在感,由于我初学前端的时候并没有系统性的学习数组,所以我将通过这篇文章同你一起学习数组,希望我们能一起进步,学会熟练操作数组 ...
- 前端开发之CSS篇四
一.相对定位 二.绝对定位 三.固定定位 四.z-index 前言 定位有三种:1.相对定位 2.绝对定位 3.固定定位 这三种定位,每种都暗藏玄机,所以要每个单独剖析. 1️⃣ 相对定位 1.三 ...
随机推荐
- 用button 属性来保存字符串地址
我用到for循环创建button 通过点击不同的按钮拿到每个button对应的链接地址,因为button的个数也是通过后台数据返回.上代码: //保存到数组 _array = [Article mj ...
- PLC与上位机的socket通讯——ABB机器人程序(三)
源程序:https://github.com/935094505/ABB-socket-communication 程序范例 觉得有帮助,别忘了打赏下
- CCPC桂林
在得知我们队伍前往桂林参加CPPC区域赛后,我是非常激动的,因为我们网络赛并没有得到名额,如果不是新都赠予我们名额,我们都没有出去打比赛的机会,同时,我们也不想浪费这个名额,我们也想打出成绩来,于是我 ...
- 运行pytest,报错"AttributeError: 'module' object has no attribute 'xxx'"
最近学习pytest被此问题困扰,敲脑壳,实在是不该.百度解决方法一大堆,我的问题怎么也解决不了,来看一下,我是怎么解决的,各位大佬勿喷,只是自己做笔记用,谢谢. 报错信息如下: 网上解决方法是这样的 ...
- MOOC C++笔记(三):类和对象提高
第三周:类和对象提高 this指针 作用 this指针作用就是指向成员函数所作用的对象. 非静态成员函数中可以直接使用this来代表指向该函数作用的指针. 成员函数中默认有一个this指针指向当前对象 ...
- String的优化 Stringbuffer和Stringbuilder
string 上次说到string是最好衍生出来的一种字符类型,实现原理是由char[].我们知道数组一旦创建时不可更改的,所以每一次进行字符串的拼接都是在new一个新的字符串进行添加,这样的话对内存 ...
- netCDF4 not installed properly - DLL load failed (netCDF4安装问题)
环境描述:windows10 ,conda,python3.6 问题描述:netCDF4是python中用来处理地球气象数据的文件读取包,在安装完成后,from netCDF4 import Data ...
- JQuery发送ajax请求时中文乱码
先排除项目故障: 1.web.xml中是否配置了字符拦截器 <filter> <filter-name>encodingFilter</filter-name> & ...
- Spring Boot 配置元数据指南
1. 概览 在编写 Spring Boot 应用程序时,将配置属性映射到 Java bean 上是非常有用的.但是,记录这些属性的最好方法是什么呢? 在本教程中,我们将探讨 Spring Boot C ...
- 夯实Java基础系列6:一文搞懂抽象类和接口,从基础到面试题,揭秘其本质区别!
目录 抽象类介绍 为什么要用抽象类 一个抽象类小故事 一个抽象类小游戏 接口介绍 接口与类相似点: 接口与类的区别: 接口特性 抽象类和接口的区别 接口的使用: 接口最佳实践:设计模式中的工厂模式 接 ...