一、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的更多相关文章

  1. HTML5和CSS3的新特性

    html5的新特性 添加了用于媒介回放的 <video>,<audio> 元素 添加了语义标签譬如 header.footer.nav 等等元素 添加了用于绘画的 canvas ...

  2. CSS3常用新特性

    CSS3的新特性 新增CSS3特性有兼容性问题,ie9+才支持 移动端支持优于PC端 新增选择器和盒子模型以及其他特性 CSS新增选择器 属性选择器 属性选择器可以根据元素特定属性来选择元素,这样就可 ...

  3. css3的新特性选择器-------属性选择器

    自己学css的时候比较乱,这次趁着复习把css3的新特性选择器和css2以前不怎么用的选择器做一个总结 <div id="parent"> <p>I'm a ...

  4. CSS3(transform/transition/animation) 基础 总结

    1.CSS3新增的样式(常用) //颜色透明表示rgba(0,0,0,.5) //圆角(定义角半径)border-radius: 5px 10px 15px 20px; //文字/盒子阴影text-s ...

  5. CSS3的新特性

    CSS3中增加的新特性: (1)选择器的种类 (2)字体 font (3)text-overflow (4)文本渲染 text-decoration (5)多列布局 column-count (6)R ...

  6. 总结CSS3新特性(Transform篇)

    概述: CSS3新添加的Transform可以改变元素在可视化区域的坐标(这种改变不会引起文档的重排,只有重排),以及形状,还有些3D形变.结合 Animation(这里以后会有个链接的) 能实现酷炫 ...

  7. css笔记——区分css3中的transform transition animation

    出处:http://blog.csdn.net/dyllove98/article/details/8957232   CSS3中和动画有关的属性有三个  transform. transition  ...

  8. CSS3的新特性整理

    animation    IE10 animation的六大属性 animation-name规定需要绑定选择器的keyframe名称 animation-duration规定完成动画所花费的时间 s ...

  9. CSS Transform / Transition / Animation 属性的区别

    back21 Jun 2011 Category: tech Tags: css 最近想UI的动画转到css3能吃进3d加速的属性上面来以加强动画的连贯性.只是对于css几个新加的属性不太熟悉,常常容 ...

随机推荐

  1. Could not load file or assembly 'System.ServiceModel.DomainServices.Hosting'.系统找不到指定文件

    项目部署到服务器后出现如下错误信息: Parser Error Message: Could not load file or assembly 'System.ServiceModel.Domain ...

  2. winform对话框控件、打印控件

    对话框控件: ColorDialog:颜色选择对话框,让用户自行选择一种颜色,使用方法类似FontDialog FontDialog:字体选择对话框,让用户自行选择一种字体(也可以选择字体颜色,需要在 ...

  3. RUDP之一 —— UDP VS TCP

    原文链接 原文:http://gafferongames.com/networking-for-game-programmers/udp-vs-tcp/ 介绍 大家好,我是Glenn Fiedler, ...

  4. Java 根据两个经纬度坐标计算距离

    public class Distance{ private static final double EARTH_RADIUS = 6378137;    private static double  ...

  5. BZOJ2471 : Count

    考虑KMP,设$f[i][j][S]$表示还剩最低$i$位没有确定,目前KMP匹配到了$j$这个位置,前缀匹配情况是$S$,最终会匹配到哪里,中途匹配成功几次. 其中$S[i]$是一个pair< ...

  6. 单元测试地二蛋 先弄个两个原生模块1个原始的一个jq插件

    放羊测试测完了再测这两个瞎搞的下拉列表组建 看看从单元测试模块化的角度组建会写成啥样 1:ajax请求 简单文本     2:1个页面多个实例     3:复杂展示+自定义点击+自定义处理函数     ...

  7. BZOJ1098: [POI2007]办公楼biu

    从问题可以看出是求补图的连通块及点数 但补图太大.所以考虑缩小规模. 当一个点归属于一个连通块后,它以后就不需要了.所以可以用链表,删去这个点,也就减小了规模. 一个点开始bfs,每个点只会进队一次, ...

  8. android4.4源码下载简介

    1. $sudo apt-get install git-core curl2. mkdir ~/bin PATH=~/bin:$PATH3. curl http://commondatastorag ...

  9. [IOS]译Size Classes with Xcode 6: One Storyboard for all Sizes

    Size Classes with Xcode 6: One Storyboard for all Sizes 为所有的尺寸准备一个Storyboard 我最喜欢的Xcode6的特性是新的size c ...

  10. 常见的HTTP Headers

    协议就是交互双方协商好要遵守的规范,打个不恰当的比方,就好像交谈双方约定要使用的同一种语言.如果我讲英文,你讲中文,大家都相互听不懂,交流那就得嗝屁了. HTTP协议就是需要交互的客户端(通常是浏览器 ...