资讯专栏INFORMATION COLUMN

CSS3的过渡和动画

andong777 / 2450人阅读

摘要:转化的转化分为以下几种移动旋转缩放倾斜混合每种转化都还有对应的版本注意闭合的内联元素不支持转化,过渡和动画如等。

过渡和动画都是CSS3的重要部分,今天有时间,了解些相关内容并记录下。
在开始之前,首先看看CSS3的转化。

转化

CSS3的转化分为以下几种:

translate 移动

rotate 旋转

scale 缩放

skew 倾斜

matrix 混合

每种转化都还有对应的3d版本

注意:闭合的内联元素不支持转化,过渡和动画:如等。可以通过添加样式 display: inline-block 或 display: block 来转化成块级元素。

translate 移动

translate()方法,根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素位置移动。

span {
    display: inline-block;
    transform: translate(50px,100px); /* 向下移动50像素,向右移动100像素 */
    -ms-transform: translate(50px,100px); /* IE 9 */
    -webkit-transform: translate(50px,100px); /* Safari and Chrome */
}
rotate 旋转

rotate()方法,在一个给定度数顺时针旋转的元素。负值是允许的,这样是元素逆时针旋转。

i {
    display: block;
    transform: rotate(30deg); /* 顺时针旋转30度,负数为逆时针旋转 */
    -ms-transform: rotate(30deg); /* IE 9 */
    -webkit-transform: rotate(30deg); /* Safari and Chrome */
}
scale 缩放

scale()方法,该元素增加或减少的大小,取决于宽度(X轴)和高度(Y轴)的参数:

div {
    display: inline; /*这样设置是缩放不生效 */
    transform: scale(2,3); /*长扩大2倍,宽扩大3倍,小于1的小数为缩小 */
    -ms-transform:scale(2,3); /* IE 9 */
    -webkit-transform: scale(2,3); /* Safari */
    transform: scale(2,3); /* 标准语法 */
}
skew 倾斜

skew() 包含两个参数值,分别表示X轴和Y轴倾斜的角度,如果第二个参数为空,则默认为0,参数为负表示向相反方向倾斜。(想象成一根直的柱子,被推歪了...)

skewX();表示只在X轴(水平方向)倾斜。(横着推歪了...)

skewY();表示只在Y轴(垂直方向)倾斜。(从上下压给推歪了...)

div {
    transform: skew(30deg,20deg);
    -ms-transform: skew(30deg,20deg); /* IE 9 */
    -webkit-transform: skew(30deg,20deg); /* Safari and Chrome */
}
matrix 混合

matrix()方法和2D变换方法合并成一个。
matrix 方法有六个参数,包含旋转,缩放,移动(平移)和倾斜功能。

div {
    transform:matrix(0.866,0.5,-0.5,0.866,0,0);
    -ms-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* IE 9 */
    -webkit-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* Safari and Chrome */
}
截图总结

2D 版

3D 版

transition 过渡

CSS3中,我们为了添加某种效果可以从一种样式转变到另一个的时候,无需使用Flash动画或JavaScript。

过渡和动画的区别

过渡和动画都可以改变元素的样式,但他们中间也有些不同:

过渡针对元素的样式属性,从一种样式转变到另一种,样式按贝塞尔曲线随时间变化,动画针对元素本身,按关键帧改变元素的样式效果

过渡比动画简单,当控制的效果也更粗糙,动画更消耗性能,但可以做出更复杂的效果。

总的来说:一般简单的样式使用过渡,实在需要复杂的效果再考虑使用动画

transition 属性

div {
    transition-property: width; /*可以使用转化更好的过渡 */
    transition-duration: 1s;
    transition-timing-function: linear;
    transition-delay: 2s;
    /* Safari */
    -webkit-transition-property:width;
    -webkit-transition-duration:1s;
    -webkit-transition-timing-function:linear;
    -webkit-transition-delay:2s;
}

/*简写 */
div {
    transition: width 1s linear 2s;
    /* Safari */
    -webkit-transition:width 1s linear 2s;
}
transition 过渡曲线

animate 动画

CSS3,我们可以创建动画,它可以取代许多网页动画图像,Flash动画,和JAVAScripts。
动画属性:

动画制作过程

1.通过@keyframes规则创建动画

/*创建动画,字体颜色由红变蓝 */
@keyframes changeColor { 
    from { color: red; }
    to { color: blue; }
}

2.元素绑定动画

span {
    display: inline-block; /*内联元素要转成block元素 */
    animation: changeColor 1s linear; /*绑定动画,并设置动画时间和执行曲线 */
}

动画还可以使用百分比来更加精细的控制动画流程:

@keyframes changeColor {
    0%   {color: red;}
    25%  {color: yellow;}
    50%  {color: green;}
    75%  {color: pickle;}
    100% {color: blue;}
}
 
/* Safari 与 Chrome */
@-webkit-keyframes changeColor {
    0%   {color: red;}
    25%  {color: yellow;}
    50%  {color: green;}
    75%  {color: pickle;}
    100% {color: blue;}
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/115611.html

相关文章

  • css3变形(transform)、过渡(transition)、动画(animation)属性

    摘要:中制作动画的几个属性中的变形过渡动画。默认值为,为时,表示变化是瞬时的,看不到过渡效果。实现动画效果主要由两部分组成通过类似动画中的帧来声明一个动画在属性中调用关键帧声明的动画。 css3中制作动画的几个属性:css3中的变形(transform)、过渡(transition)、动画(animation)。 一、 CSS3变形(transform) 语法: transform : no...

    waruqi 评论0 收藏0
  • CSS3转换过渡动画

    摘要:转换能够对元素进行移动缩放转动拉长或拉伸。和和的参数可以为。过渡该属性和配合使用,实现鼠标移入动画效果。实例动画该属性和配合使用。规则用于创建动画。在中规定某项样式,就能创建由当前样式逐渐改为新样式的动画效果。 CSS3中有三个属性:transform、transition、animation,一直容易搞混,今天特意拎出来理一理。 transform 转换 transform 能够对元...

    MonoLog 评论0 收藏0
  • 过渡动画

    摘要:是一个简写属性,用于设置四个过渡属性过渡时间延迟时间属性速度下面的表格列出了所有的转换属性实例在一个例子中使用所有过渡属性二动画规则如需在中创建动画,您需要学习规则。在中规定某项样式,就能创建由当前样式逐渐改为新样式的动画效果。 一、transition 过渡 过渡效果一般由浏览器直接改变元素的CSS属性实现,从一种状态过渡到另一种状态。 在CSS中创建简单的过渡效果可以从以下几个步骤...

    NoraXie 评论0 收藏0
  • CSS3热身实战--过渡动画(实现炫酷下拉,手风琴,无缝滚动)

    摘要:规定动画的时长。注意子菜单要用隐藏,在显示的时候再设置。如果不加,实际上子菜单,以及子菜单下面的一直在页面上,如果鼠标移上去子菜单,以及子菜单下面的。 1.前言 在自己的专栏上写了十几篇文章了,都是与js有关的。暂时还没有写过关于css3的文章。css3,给我的感觉就是,不难,但是很难玩转自如。今天,就用css3来实现三个特效,希望这三个特殊能让大家受到启发,利用css3做出更好,更炫...

    zqhxuyuan 评论0 收藏0
  • CSS3 新特性

    摘要:语法说明对象选择器投影方式轴偏移量轴偏移量模糊半径阴影扩展半径阴影颜色内阴影,向右偏移,向下偏移,模糊半径,阴影缩小属性的参数设置取值阴影类型此参数可选。 CSS3 是最新的 CSS 标准,并且完全向后兼容,不过目前W3C 仍然在对 CSS3 规范进行开发,虽然标准的规范还没有正式发布,但是现代浏览器已经支持相当多的 CSS3 属性了。CSS3 提供了很多可以把玩的新特性,模糊了之前只...

    justjavac 评论0 收藏0

发表评论

0条评论

andong777

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<