css3的新特性transform,transition,animation
一、transform
css3引入了一些可以对网页元素进行变换的属性,比如旋转,缩放,移动,或者沿着水平或者垂直方向扭曲(斜切变换)等等。这些的基础都是transform属性
transform属性有一项奇怪的特性,就是它们对于其周围的元素不会产生影响。换句话说,如果将一个元素旋转45度,它实际上是重叠在元素的上方,下方或者旁边。而不会移动其周围的内容。
旋转:transform:rotate(-45deg);
缩放:transform:scale(.5);scaleX(2);scaleY(3)。如果给了负值,能够达到翻转的效果:scaleX(-1)
移动:transform:translate(1px,2px).使用其他单位:em,%也是可以的。
倾斜:transform:skew(45deg,0);
当然,以上多个tranform的属性可以结合使用;
transform-origin:一般来说,当对一个元素使用transform时,web浏览器就会以元素的中心点作为变黄点。该属性可以指定变换点,可以提供关键字,以pixel为单位的绝对值,以及em,%等等。
二、transition
transition可以实现动态效果,实际上是一定时间之内,一组css属性变换到另一组属性的动画展示过程。
为了使transition生效,需要做这么几件事:
2)两个样式:一个是最初的样式,一个是最终的样式,transition可以实现这两种演示见的转换过程。
2)transition属性:
transition使用4个属性控制:
要以动画展示哪些属性(transition-property):可以使用all关键字
动画过程有多久(transition--duration),
控制动画速度变化(transition-timing-function:linear,ease,ease-in,ease-out,ease-in-out,贝塞尔曲线等),
动画是否延迟执行(transition-delay)等
可以使用快捷方法来定义上述属性:
.navButton{
color:black;
background-color:#fff;
transition:color,background-color;
transition-delay:1s, .5s;
}
.navButton:hover{
color:red;
background-color:#ccc;
}
一般来说,将transition属性应用到最初的样式里,而不是放在结束的样式里,即定义动画开始之前的元素外观的样式。只需要给元素设置一次transition,浏览器就会负责以动画展示从一个样式到另一个样式,再返回最初样式的变化过程。
不过,在使用css下拉菜单的时候,有一个技巧,为了防止鼠标离开菜单的时候,菜单很快消失,可以利用transition-delay让元素很快显示,但是慢慢消失,做法是,在初始样式中添加如下代码:
transition-dealy:.5s
在:hover中不要添加延迟:
transition-delay:
3)触发器:常用的触发器是几个伪类,:active,:target,:focus,也可以是前后两个类的改变。
三、animation
transition只能从一组css属性变成另一组css属性。animation则可以在多组属性之间变换。
transition必须使用触发器触发,animation可以使用触发器,也可以在页面加载完成的时候自动触发。
创建动画有两个步骤:
1.定义动画:主要指定义关键帧
@keyframes fadeIn{
from{
opacity:;
},
to{
opacity:;
}
}
2.将动画应用到元素上
可以使用一下css属性定义动画:
.nav-button{
animation-name:fadeIn;
animation-duration:1s;
animation-timing-function:ease-out,
animation-delay:.5s;
animation-iteration-count:infinite;
animation-direction:alternate
}
animation-name:和当初定义的动画名称相对应;
animation-duration:动画执行一次持续的时长;
animation-timing-function:动画速率变化函数;
animation-delay:动画延迟执行的时间长度;
animation-iteration-count:动画执行的次数,可以是数字,或者关键字:infinate(无限运行);
animation-direction:alternate; alternate(奇数次超前运行,偶数次后退运行).如希望动画从黄色到蓝色,并且再重复一次,使用alternate关键字就能够防止从蓝色突变为黄色
animation-fill-mode:告诉浏览器将元素的格式保持为动画结束时候的样子。
css3的新特性transform,transition,animation的更多相关文章
- HTML5和CSS3的新特性
html5的新特性 添加了用于媒介回放的 <video>,<audio> 元素 添加了语义标签譬如 header.footer.nav 等等元素 添加了用于绘画的 canvas ...
- CSS3常用新特性
CSS3的新特性 新增CSS3特性有兼容性问题,ie9+才支持 移动端支持优于PC端 新增选择器和盒子模型以及其他特性 CSS新增选择器 属性选择器 属性选择器可以根据元素特定属性来选择元素,这样就可 ...
- css3的新特性选择器-------属性选择器
自己学css的时候比较乱,这次趁着复习把css3的新特性选择器和css2以前不怎么用的选择器做一个总结 <div id="parent"> <p>I'm a ...
- CSS3(transform/transition/animation) 基础 总结
1.CSS3新增的样式(常用) //颜色透明表示rgba(0,0,0,.5) //圆角(定义角半径)border-radius: 5px 10px 15px 20px; //文字/盒子阴影text-s ...
- CSS3的新特性
CSS3中增加的新特性: (1)选择器的种类 (2)字体 font (3)text-overflow (4)文本渲染 text-decoration (5)多列布局 column-count (6)R ...
- 总结CSS3新特性(Transform篇)
概述: CSS3新添加的Transform可以改变元素在可视化区域的坐标(这种改变不会引起文档的重排,只有重排),以及形状,还有些3D形变.结合 Animation(这里以后会有个链接的) 能实现酷炫 ...
- css笔记——区分css3中的transform transition animation
出处:http://blog.csdn.net/dyllove98/article/details/8957232 CSS3中和动画有关的属性有三个 transform. transition ...
- CSS3的新特性整理
animation IE10 animation的六大属性 animation-name规定需要绑定选择器的keyframe名称 animation-duration规定完成动画所花费的时间 s ...
- CSS Transform / Transition / Animation 属性的区别
back21 Jun 2011 Category: tech Tags: css 最近想UI的动画转到css3能吃进3d加速的属性上面来以加强动画的连贯性.只是对于css几个新加的属性不太熟悉,常常容 ...
随机推荐
- 如何转换WMV到MP3,WMV到MP3播放器
非常好的软件!!!!!没有注册,可以用.推荐给大家! http://www.daniusoft.com/cn/convert-wmv/wmv-to-mp3.html http://hi.baidu.c ...
- 首师大附中互测题:50229234海岛帝国:独立之战【C002】
[C002]50229234海岛帝国:独立之战[难度C]———————————————————————————————————————————————————————————————————————— ...
- windows 2008 server NTP Server
1. 选择一台服务器作为时间同步服务器. 2. 运行Regedit,打开注册表编辑器. 3. 找到注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Ser ...
- JSON和JSONP (含jQuery实例)(share)
来源:http://www.cnblogs.com/dowinning/archive/2012/04/19/json-jsonp-jquery.html 前言: 说到AJAX就会不可避免的面临两个问 ...
- 【BZOJ1087】 [SCOI2005]互不侵犯King 状压DP
经典状压DP. f[i][j][k]=sum(f[i-1][j-cnt[k]][k]); cnt[i]放置情况为i时的国王数量 前I行放置情况为k时国王数量为J #include <iostre ...
- tornado 学习笔记5 构建Tornado网站应用
一个Tornado 网站应用通常由一个或多个RequestHanlde的子类.一个负责将请求路由至handlers的Application以及一个启动服务器的main()函数等组成. 一个最小的“he ...
- C#程序使用SQLite数据库
转至 http://www.cnblogs.com/redmoon/archive/2006/12/09/587617.html System.Data.SQLite(SQLite ADO.NET 2 ...
- 查看IIS连接数
如果要想知道确切的当前网站IIS连接数的话,最有效的方法是通过windows自带的系统监视器来查看. 一.运行-->输入“perfmon.msc”. 二.在“系统监视器”图表区域里点击右键,然后 ...
- Java的序列化ID的作用
Java的序列化ID的作用 简单来说,Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的.在进行反序列化时,JVM会把传来的字节流中的serialVersio ...
- ffmpeg(2.6) rockplayer android 下编译 小记.
最近因为一些需求,开始学习 ffmgeg 在android 上使用. 使用的环境: 1,VMware V8 虚似机 安装的 FedoraV18 系统.(下载地址,请baidu),虚似机,最好有20-3 ...