进入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: ...
随机推荐
- zoj3778 Talented Chef
As we all know, Coach Gao is a talented chef, because he is able to cook M dishes in the same time. ...
- vue.js拓展篇(8):测试开发与调试
内容 第15章:测试开发与调试 任何实际项目的开发,除了功能性代码的完成,规范的开发流程和严谨的测试都是不可或缺的.合理使用工具将事半功倍. 1.ESLint ESLint是Lint语法检查工具,避免 ...
- python进阶学习(四)
在使用多线程之前,我们首页要理解什么是进程和线程. 什么是进程? 计算机程序只不过是磁盘中可执行的,二进制(或其它类型)的数据.它们只有在被读取到内存中,被操作系统调用的时候才开始它们的生命期.进程( ...
- Android滑动控件.md
1.概述 最近写代码临时加了个功能主要是滑动选择的功能效果图如下: 2.代码 这里主要是用属性动画做的 <ImageButton android:id="@+id/fab" ...
- postman 第1节 安装启动(转)
安装: 1.mac app安装 浏览器访问https://www.getpostman.com/apps,选择Get the Mac App,下载安装即可 2.chrome app安装 浏览器访问ht ...
- 【Java数据结构学习笔记之二】Java数据结构与算法之栈(Stack)实现
本篇是java数据结构与算法的第2篇,从本篇开始我们将来了解栈的设计与实现,以下是本篇的相关知识点: 栈的抽象数据类型 顺序栈的设计与实现 链式栈的设计与实现 栈的应用 栈的抽象数据类型 栈是 ...
- oracle 索引失效的情况分析
见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp54 1) 没有查询条件,或者查询条件没有建立索引 2) 在查询条件上 ...
- 团队作业9——Beta版本展示博客
一. 骆杰宁(组长) 风格:少说话,多做事. 擅长技术:Jsp 编程兴趣:GUI 希望角色:PM 一句话宣言:年轻是本钱,不努力就不值钱. 胡丹丹 风格:不断沉淀自己 擅长技术:擅长TCP/IP协议模 ...
- 团队作业4——第一次项目冲刺(Alpha版本)4.23
·本次会议为第二次Scrum Meeting会议~ ·本次会议项目经理召开时间为17:00,在教学楼教室召开,召开时长约30分钟,探讨了昨日任务的进展.查重功能.今日要做的任务以及后续所要开展的工作. ...
- 201521123055 《Java程序设计》第3周学习总结
1. 本章学习总结 2. 书面作业 Q1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; ...