进入css3动画世界(二)
进入css3动画世界(二)
今天主要来讲transition和transform入门,以后会用这两种属性配合做一些动效。
注:本文面向前端css3动画入门人员,我对这个也了解不深,如本文写的有纰漏请指出,不喜勿喷。
transition属性
从中文翻译来讲,这是一个过渡属性,而这个属性的属性值有四种:
transition: property duration timing-function delay
第一个是起作用的属性名,第二个是动画持续的时间,第三个是速度效果的曲线,第四个是过渡效果延迟多久后开始。
而我经常用的是第二个属性值,其次是速度曲线。
下面我们用hover试下不同的效果:
**源码:**
```html
```
.idiv{
float: left;
width: 100px;
height: 100px;
background: green;
margin: 5px;
font-size: 20px;
color: #fff;
line-height: 100px;
text-align: center;
}
#change-width{
transition: width 0.5s;
}
#change-width:hover{
width: 300px;
}
#dur-3s{
transition: 3s;
}
#dur-3s:hover{
width: 300px;
}
#linear{
transition: 0.5s linear;
}
#linear:hover{
width: 300px;
}
#delay-1s{
transition: 0.5s 1s;
}
#delay-1s:hover{
width: 300px;
}
transform属性
transform的意思是变换。
transform的变换很多,我可能没那么深入去学,但是我们可以了解一下基本的几种动画:
translate(),rotate(),scale(),就凭这几种基本的动画加上你的想象力,就可以做出上一篇我们提到那头大象了。当然,这些transform的属性值最后还可以用一个属性值matrix()完成,具体可以去膜拜一下张鑫旭关于matrix()的描述。
我们暂时只讨论2d情况下的transform,当然还有一个skew()我没怎么用过。
translate
translate()是平移,translateX(x)沿着x轴平移,translateY(y)沿着y轴平移,translate(x,y)沿着xy轴同时平移:
```html
```
.idiv{
float: left;
width: 100px;
height: 100px;
background: green;
margin: 5px;
font-size: 20px;
color: #fff;
line-height: 100px;
text-align: center;
transition: 0.5s;
}
#div1:hover{
transform: translateX(20px);
}
#div2:hover{
transform: translateY(20px);
}
#div3:hover{
transform: translate(20px,20px);
}
rotate
rotate()是旋转,2d的情况下,rotate()只接收一个角度作为参数。
<div class="idiv" id="rotate30">顺时针旋转30°</div>
<div class="idiv" id="rotate60">顺时针旋转60°</div>
<div class="idiv" id="rotate90">顺时针旋转90°</div>
<div class="idiv" id="rotate-30">逆时针旋转30°</div>
<div class="idiv" id="rotate-60">逆时针旋转60°</div>
<div class="idiv" id="rotate-90">逆时针旋转90°</div>
.idiv{
float: left;
width: 100px;
height: 100px;
background: green;
margin: 5px;
font-size: 20px;
color: #fff;
line-height: 50px;
text-align: center;
transition: 0.5s;
}
#rotate30:hover{
transform: rotate(30deg);
}
#rotate60:hover{
transform: rotate(60deg);
}
#rotate90:hover{
transform: rotate(90deg);
}
#rotate-30:hover{
transform: rotate(-30deg);
}
#rotate-60:hover{
transform: rotate(-60deg);
}
#rotate-90:hover{
transform: rotate(-90deg);
}
scale()
scale()是缩放,和translate()一样,接收1-2个参数。scaleX(x),scaleY(y),scale(x,y):
<div class="idiv" id="scalex">x轴放大到1.5倍</div>
<div class="idiv" id="scaley">y轴缩小到0.5倍</div>
<div class="idiv" id="scalexy">xy轴放大到2倍</div>
.idiv{
float: left;
width: 100px;
height: 100px;
background: green;
margin: 5px;
font-size: 20px;
color: #fff;
line-height: 50px;
text-align: center;
transition: 0.5s;
}
#scalex:hover{
transform: scaleX(1.5);
}
#scaley:hover{
transform: scaleY(0.5);
}
#scalexy:hover{
transform: scale(2,2);
}
进入css3动画世界(二)的更多相关文章
- 进入css3动画世界(一)
其实我做css3动画也没有多久,这篇文章目标人群是css3动画的新手,不喜勿喷. 分类 目前我接触到的css3动画有2类:一种是transition的,另一种是@keyframes的. 两者的区别就是 ...
- CSS3中的变形与动画(二)
CSS3动画 过渡属性transiton-property 早期在Web中要实现动画效果,都是依赖于JavaScript或Flash来完成.但在CSS3中新增加了一个新的模块transition,它可 ...
- 用CSS3动画,让页面动起来
以前就听说过有个库,叫animate.css,但是自己并没有在实际项目中使用过,这次正好要做个招聘页面,得以利用一下这个库,在经常会卡顿的UC浏览器中也能流畅执行. 扫描下面的二维码,可以看到在线的d ...
- CSS3动画几个平时没注意的属性
一.timing-function: steps() 一开始在使用CSS3的时候并没有太注意这个timing-function,只是注意到自定义贝塞尔曲线. 1)一个项目中的实例 先来看看左边加了st ...
- css3动画由浅入深总结
阅读目录 一:过渡动画---Transitions 二:Animations功能 三:translate(tx,ty) 四:scale(x,y) 五:rotate(x): 5.1:skew(x,y): ...
- 【转】15个无比华丽的HTML5/CSS3动画应用
原文转自:http://www.html5cn.org/article-7089-1.html 前几天,HTML5标准已经尘埃落定,未来的Web将会是由HTML5主导,当然作为开发者对这一喜讯更为动心 ...
- CSS3学习(CSS3过渡、CSS3动画)
CSS3过渡:transition属性--专门应对颜色.长度.宽度.位置等变化的过渡 通过CSS3,我们可以在不使用Flash和JavaScript的情况下,为当前某元素从某样式改变为某样式的时候添加 ...
- css3学习--css3动画详解一(animation属性)
***介绍的属性并不完全,写的都是我认为容易混淆的难点属性,所以属性会在最后综合案例展示~ 一.Keyframes介绍: Keyframes被称为关键帧,其类似于Flash中的关键帧.在CSS3中其主 ...
- 如何制作css3的3d动画——以骰子旋转为例,详解css3动画属性
首先先来看两个用css3实现的炫酷的3d动画效果 1 2 3 4 5 6 你没看错,这个炫酷的效果都是用css3实现的. 下面是动画实现所需要用到的几个css3属性. 1.perspective: ...
随机推荐
- C语言:freopen函数
当我们求解acm题目时,通常在设计好算法和程序后,要在调试环境(例如VC等)中运行程序,输入测试数据,当能得到正确运行结果后,才将程序提交到oj中.但由于调试往往不能一次成功,每次运行时,都要重新输入 ...
- [2017-09-04]Abp系列——为什么值对象必须设计成不可变的
本系列目录:Abp介绍和经验分享-目录 这篇是之前翻备忘录发现漏了的,前阵子刚好同事又提及过这个问题,这里补上. 本文重点在于理解什么是值对象的不可变性. Abp的ValueObject以及EF的Co ...
- C++ operator bool
雕虫小技: #include <iostream> struct A{ operator bool(){ return false; } }; int main() { A a{}; if ...
- 在Windows上使用Ubuntu共享的打印机
Ubuntu下使用cups共享打印机, 是一种简单易用的方法.CUPS(Common UNIX Printing System,通用Unix打印系统)是Fedora Core3中支持的打印系统,它主要 ...
- 历上最强的音乐播放器(jetA…
原文地址:历上最强的音乐播放器(jetAudio-8.0.5.320-Plus-VX-完全汉化版)下载作者:盖世天星 历上最强的音乐播放器(jetAudio-8.0.5.320-Plus-VX-完全汉 ...
- Coding使用方法
首先在码市coding.net上创建账号 基础配置 1. 首先,下载安装git客户端和tortoisegit(就是小乌龟,本地右键使用的,跟SVN一样的那个小乌龟). git下载官网:https:// ...
- 2nd_SE-结对编程1-基于flask框架的四则运算生成器
0x00 Coding https://coding.net/u/nikochan/p/2nd_SE/git 0x01 写在前面 因为在上一个作业中,是基于python完成的Command程序.那么再 ...
- 团队作业8——第二次项目冲刺(Beta阶段)Day6——5.25
1.提供当天会议照片: 2.会议的内容: (1)讨论已经完成的功能,讨论存在的问题 (2)对于界面,谈谈各自的看法 (3)讨论接下来的任务和改进的地方 3.工作安排: 队员 今日任务 明日任务 贡献比 ...
- 【Alpha】Daily Scrum Meeting——Day4
站立式会议照片 1.本次会议为第四次Meeting会议: 2.本次会议在大课间09:40,在图书馆一楼楼道召开,本次会议为30分钟讨论昨天的任务完成情况以及接下来的任务安排. 燃尽图 每个人的工作分配 ...
- 201521123073 《Java程序设计》第6周学习总结
1. 本章学习总结 2. 书面作业 1.clone方法 1.1 Object对象中的clone方法是被protected修饰,在自定义的类中覆盖clone方法时需要注意什么? 1.2 自己设计类时,一 ...