可以兑现硬件加快动画,关联属性

有关CSS3的变形、过渡、动画、关联属性

2017/03/09 · CSS ·
关联,
动画,
变形,
过渡

原稿出处:
牧羊人_cily   

上学CSS3动画animation得先精晓部分有关变形transform、过渡transition的文化

这个新属性大多在新版浏览器得到了支撑,有些需求丰裕浏览器前缀(-webkit-、-moz-、-ms-、-o-),本文为简化内容,直接利用了原版属性

依照不一致属性的协助度,在事实上行使的时候须求丰裕相应的浏览器前缀支持

学习CSS3动画animation得先精通一些有关变形transform、过渡transition的学识

那几个新属性大多在新版浏览器拿到了辅助,有些要求添加浏览器前缀(-webkit-、-moz-、-ms-、-o-),本文为简化内容,直接行使了原版属性

据悉不相同性质的匡助度,在实际上利用的时候要求丰裕相应的浏览器前缀支持

transitions(过渡)

一、变形

transform:可以对元素对象举办旋转rotate、缩放scale、移动translate、倾斜skew、矩阵变形matrix。
示例:

CSS

transform: rotate(90deg) scale(1.5,0.8) translate(100px,50px)
skew(45deg,45deg); /*矩阵变形*/
matrix(<number>,<number>,<number>,<number>,<number>,<number>);
/*透视*/ perspective(length);

1
2
3
4
5
transform: rotate(90deg) scale(1.5,0.8) translate(100px,50px) skew(45deg,45deg);
/*矩阵变形*/
matrix(<number>,<number>,<number>,<number>,<number>,<number>);
/*透视*/
perspective(length);

transition:过度属性
transition:过度效果的css属性名 过度效果时长 速度效果的进度曲线
过度效果开首时间;

CSS

transition: property duration timing-function delay; /*示例*/
transition:1s ease all; -webkit-tansition:1s ease all;
-moz-transition:1s ease all; -o-transition:1s ease all;

1
2
3
4
5
6
transition: property duration timing-function delay;
/*示例*/
transition:1s ease all;
-webkit-tansition:1s ease all;
-moz-transition:1s ease all;
-o-transition:1s ease all;

rotate():二维空间旋转成分。
若成分设置了perspective值,可用rotate3d()完毕三维空间内转悠。

CSS

rotateX(angele)/*一定于rotate3d(1,0,0,angle)指定在三维空间内的X轴旋转*/
rotateY(angele)/*一定于rotate3d(0,1,0,angle)指定在三维空间内的Y轴旋转*/
rotateZ(angele)/*亚洲必赢官网 ,一定于rotate3d(0,0,1,angle)指定在三维空间内的Z轴旋转*/

1
2
3
rotateX(angele)/*相当于rotate3d(1,0,0,angle)指定在三维空间内的X轴旋转*/
rotateY(angele)/*相当于rotate3d(0,1,0,angle)指定在三维空间内的Y轴旋转*/
rotateZ(angele)/*相当于rotate3d(0,0,1,angle)指定在三维空间内的Z轴旋转*/

scale()

CSS

scaleX(<number>)/*只在X轴(水平方向)缩放成分*/
scaleY(<number>)/*只在Y轴(垂直方向)缩放*/
scaleZ(<number>)/*只在Z轴缩放,前提:成分设定透视值*/

1
2
3
scaleX(<number>)/*只在X轴(水平方向)缩放元素*/
scaleY(<number>)/*只在Y轴(垂直方向)缩放*/
scaleZ(<number>)/*只在Z轴缩放,前提:元素设定透视值*/

translate([,]):移动,是位移量。

CSS

translateX(<translation-value>);/*只在X轴(水平方向)移动*/
translateY(<translation-value>);/*只在Y轴(垂直方向)移动*/
translateZ(<translation-value>);/*只在Z轴移动,前提:成分设置透视值*/

1
2
3
translateX(<translation-value>);/*只在X轴(水平方向)移动*/
translateY(<translation-value>);/*只在Y轴(垂直方向)移动*/
translateZ(<translation-value>);/*只在Z轴移动,前提:元素设置透视值*/

skew():倾斜

CSS

skewX(<angle>);/*只在X轴(水平)倾斜*/
skewY(<angle>);/*只在Y轴(垂直)倾斜*/

1
2
skewX(<angle>);/*只在X轴(水平)倾斜*/
skewY(<angle>);/*只在Y轴(垂直)倾斜*/

matrix(a,c,e,b,d,f):矩阵变形,c、e的值用正弦或余弦值表示。
a:表示scaleX(); X轴缩放
c:skewY(); Y轴倾斜
e:skewX(); X轴倾斜
b:scaleY(); Y轴缩放
d:translateX() X轴移动
f:translateY() Y轴移动

CSS

transform:matrix(<number>,<number>,<number>,<number>,<number>,<number>);

1
transform:matrix(<number>,<number>,<number>,<number>,<number>,<number>);

perspective():透视

CSS

.wrap{ perspective:1000px; } .wrap .child{
transform:perspective(1000px); }

1
2
3
4
5
6
.wrap{
    perspective:1000px;
}
.wrap .child{
    transform:perspective(1000px);
}

目录:

  1. 变形transform
  2. 过渡transition
  3. 动画animation

 

目录:

  1. 变形transform
  2. 过渡transition
  3. 动画animation

 

  被利用于成分指定的天性变化时,该属性经过一段时间渐渐的连通到最终想要的值。

二、过渡

transition-property:过度的习性

CSS

transition-property:all;/*本着具有因素都有过度效果*/
transition-property:none;/*尚无成分有过于效果*/
transition-property:ident;/*指定css属性有过于效果,例如width*/

1
2
3
transition-property:all;/*针对所有元素都有过度效果*/
transition-property:none;/*没有元素有过度效果*/
transition-property:ident;/*指定css属性有过度效果,例如width*/

transition-duration:过度时间
transition-delay:延迟时间,为负数时,过度动作会从该时间点起来呈现,从前的动作会被截断。
transition-timing-function:过度效果,暗中同意ease。

JavaScript

transition-timing-function:ease;/*消除作用,等同于cubic-bezier(0.25,0.1,0.25,1.0)函数,既立方贝塞尔*/
transition-timing-function:linear;/*线性效果,等同于cubic-bezier(0.0,0.0,1.0,1.0)函数*/
transition-timing-function:ease-in;/*渐显功用,等同于cubic-bezier(0.42,0,1.0,1.0)函数*/
transition-timing-function:ease-out;/*渐隐效果,等同于cubic-bezier(0,0,0.58,1.0)函数*/
transition-timing-function:ease-in-out;/*渐显渐隐效果,等同于cubic-bezier(0.42,0,0.58,1.0)函数*/
transition-timing-function:cubic-bezier;/*卓绝的立方贝塞尔曲线效果*/

1
2
3
4
5
6
transition-timing-function:ease;/*缓解效果,等同于cubic-bezier(0.25,0.1,0.25,1.0)函数,既立方贝塞尔*/
transition-timing-function:linear;/*线性效果,等同于cubic-bezier(0.0,0.0,1.0,1.0)函数*/
transition-timing-function:ease-in;/*渐显效果,等同于cubic-bezier(0.42,0,1.0,1.0)函数*/
transition-timing-function:ease-out;/*渐隐效果,等同于cubic-bezier(0,0,0.58,1.0)函数*/
transition-timing-function:ease-in-out;/*渐显渐隐效果,等同于cubic-bezier(0.42,0,0.58,1.0)函数*/
transition-timing-function:cubic-bezier;/*特殊的立方贝塞尔曲线效果*/

一、变形transform

变形有rotate旋转、scale缩放、translate位移、skew倾斜、matrix矩阵变形、perspective透视二种操作,通过例子来精通种种操作

一、变形transform

变形有rotate旋转、scale缩放、translate位移、skew倾斜、matrix矩阵变形、perspective透视两种操作,通过例子来打探种种操作

  主要概括五个本性:

三、动画

animation-name:动画名称,必须与规则@keyframes合作使用,因为动画名称由@keyframes定义,若是提供七个属性值用逗号隔开。
@keyframes相当于一个命名空间,后边跟一个名词,尽管在class中的animation-name定义了与之相应的name就足以实施动画。定义动画时可一向拔取主要字from和to,从一种状态过度到另一种情景。

CSS

.animation_name{ left:0; top:100px; position: absolute;
-webkit-animation: 0.5s 0.5s ease infinite alternate; -moz-animation:
0.5s 0.5s ease infinite alternate; -webkit-animation-name:demo;
-moz-animation-name:demo; } @-webkit-keyframes demo{ from{left:0;}
to{left:400px;} } @-webkit-keyframes demo1{ 0%{left:0;} 50%{left:200px;}
100%{left:400px;} }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
.animation_name{
    left:0;
    top:100px;
    position: absolute;
    -webkit-animation: 0.5s 0.5s ease infinite alternate;
    -moz-animation: 0.5s 0.5s ease infinite alternate;
    -webkit-animation-name:demo;
    -moz-animation-name:demo;
}
@-webkit-keyframes demo{
    from{left:0;}
    to{left:400px;}
}
@-webkit-keyframes demo1{
    0%{left:0;}
    50%{left:200px;}
    100%{left:400px;}
}

animation-duration:动画时间

animation-timing-function:播放格局,取值如下:
ease:缓解效率,等同于cubic-bezier(0.25,0.1,0.25,1.0)函数,既立方贝塞尔。
linear:线性效果
ease-in:渐显功效
ease-out:渐隐效果
ease-in-out:渐显渐隐效果
step-start:立时跳转到动画截止状态
step-end:保持动画开始情况,到动画执行时间甘休,立时跳转到动画停止状态
step([,[start |
end]]?):第三个参数number为指定的间隔数,即把动画分为n步阶段性呈现,第一个参数默许为end,设置最终一步状态,start为了却时的情状,end为初叶时的情况,若设置与animation-fill-mode的机能争辩,以animation-fill-mode的安装为动画片甘休状态。
cubic-bezier(,,,):特殊的立方赛Bell曲线效果

animation-delay:开首广播时间

animation-iteration-count:播放次数,取值为infinite时表示最好循环播放

animation-direction:播放方向,取值为:
normal:正常方向
reverse:动画反向运行,方向始终与normal相仿
alternate:动画会循环正反交替运动

animation-fill-mode:播放后的情景,取值:
none:默认值,不设置
forwards:为止后保持动画截止的动静
backwards:停止后回来动画初始时情形
both:停止后可依据forwards和backwards四个规则
animation-play-state:检索或设置对象动画的事态,取值:
running:默认,运动
paused:暂停

四、关联属性

transform-origin:变形原点,transform的参照点,私下认同为要素的着力点。有三个参数,参数一为横坐标,参数二为纵坐标。
percentage:用百分比指定坐标值,可负
length:用长度指定坐标值,可负
left center right:水平方向取值
top center bottom:垂直方向取值

perspective-prigin:透视原点,定义在X轴和Y轴的3D成分,允许改变3D成分的平底地方,定义该属性时,它是一个要素的子成分,透视图,而不是因素本人。
小心:使用该属性必须和perspective属性一起用,只影响3D变换的因素。
取值:percentage、length、left、center、right、top、center、bottom

backface-visibility:隐藏内容的北侧,默许情状下背面可知,反转后转移的始末依旧可知,当backface-visibility设置hidden时,旋转后内容将隐形,旋转后严肃将不再可知。
取值:visible、hidden
transform-style:3D展现,设置内嵌的要素在3D空间如何彰显,有七个值:
flat:所有子成分在2D平面突显
preserve-3d:保留3D空间

可以兑现硬件加快动画,关联属性。 2 赞 2 收藏
评论

亚洲必赢官网 1

1. 从头页面结构

    <style type="text/css">
        html {
            font-family: Arial;
        }

        .box {
            position: relative;
            margin: 200px auto;
            width: 100px;
            height: 20px;
            text-align: center;
            border: 1px solid #ddd;
            background-color: #75e275;
            cursor: pointer;
        }

        .left,
        .right {
            position: absolute;
            top: -10px;
            width: 10px;
            height: 40px;
            background-color: #4d8aeb;
        }

        .left {
            left: 0;
        }

        .right {
            right: 0;
        }

        .box:hover {
            transform: rotate(-30deg);
        }
    </style>    

  <div class="box">
        <div class="left"></div>
        <div class="right"></div>
    </div>

亚洲必赢官网 2

1. 方始页面结构

    <style type="text/css">
        html {
            font-family: Arial;
        }

        .box {
            position: relative;
            margin: 200px auto;
            width: 100px;
            height: 20px;
            text-align: center;
            border: 1px solid #ddd;
            background-color: #75e275;
            cursor: pointer;
        }

        .left,
        .right {
            position: absolute;
            top: -10px;
            width: 10px;
            height: 40px;
            background-color: #4d8aeb;
        }

        .left {
            left: 0;
        }

        .right {
            right: 0;
        }

        .box:hover {
            transform: rotate(-30deg);
        }
    </style>    

  <div class="box">
        <div class="left"></div>
        <div class="right"></div>
    </div>

亚洲必赢官网 3

    执行变换的习性:transition-property
    变换三番几回的时日:transition-duration
    变换的速率变化:transition-timing-function
    变换延迟时间:transition-delay。

2. 变形操作

  1)旋转 transform: rotate(<angle>);
 
 angle取值有:角度值deg,弧度值rad,梯度gard,转/圈turn,正数值代表顺时针旋转,反之逆时针

.box:hover {
    transform: rotate(-30deg);
}

亚洲必赢官网 4

假诺对成分自个儿依旧成分设置了perspective值(用于安装查看者的职位),那么rotate3d()函数能够兑现一个3维空中内的转动

rotateX(angele),相当于rotate3d(1,0,0,angle)点名在3维空间内的X轴旋转

rotateY(angele),相当于rotate3d(0,1,0,angle)点名在3维空间内的Y轴旋转

rotateZ(angele),相当于rotate3d(0,0,1,angle)点名在3维空间内的Z轴旋转

.box:hover {
    transform: perspective(300px) rotateY(120deg);
}

亚洲必赢官网 5

.box:hover {
    transform: rotateY(120deg);
}

亚洲必赢官网 6

.box:hover {
    transform: rotate3d(1, 0, 0, 45deg);
}

亚洲必赢官网 7

  2)缩放 transform: scale(<number>[,
<number>]); 表示使成分在X轴和Y轴同时缩放

<number>表示缩放倍数,可以是正数,负数和小数。负数是先翻转成分然后再缩放。包蕴多个参数,借使缺乏首个参数,那么第一个参数的值等于第二个参数。

scaleX(<number>):代表只在X轴(水平方向)缩放成分。

scaleY(<number>):表示只在Y轴(垂直方向)缩放成分。

scaleZ(<number>):表示只在Z轴缩放成分。前提是因素自身仍然成分的父成分设定了透视值

同样的,有scale3d(x, y, z)

.box:hover {
    transform: scale(1.5);
}

亚洲必赢官网 8

.box:hover {
    transform: scale(2, 1);
}

亚洲必赢官网 9

.box:hover {
    transform: scaleY(1.5);
}

亚洲必赢官网 10

  3)位移 transform: translate(<translation-value>[,
<translation-value>]); 表示使成分在X轴和Y轴同时活动

<translation-value>表示位移量。蕴涵七个参数,假如简单了首个参数则第一个参数为0;假诺参数为负,则象征往相反的样子移动。

translateX(<translation-value>);代表只在X轴(水平方向)移动元素。

translateY(<translation-value>);代表只在Y轴(垂直方向)移动元素。

translateZ(<translation-value>);表示只在Z轴移动成分,前提是因素自个儿照旧成分的父成分设定了透视值

同样的,有transform(x, y, z)

.box:hover {
    transform: translate(100px);
}

亚洲必赢官网 11

.box:hover {
    transform: translate(-30px, 50px);
}

亚洲必赢官网 12

  4)倾斜 transform: skew(<angle>
[,<angle>]);
包蕴八个参数值,分别表示X轴和Y轴倾斜的角度,取值类型为角度值deg

倘诺首个参数为空,则暗中认同为0,参数为负表示向相反方向倾斜。

skewX(<angle>);表示只在X轴(水平方向)倾斜

skewY(<angle>);意味着只在Y轴(垂直方向)倾斜

.box:hover {
    transform: skewX(30deg);
}

亚洲必赢官网 13

.box:hover {
    transform: skew(30deg, 30deg);
}

亚洲必赢官网 14

  5)矩阵变形 transform: matrix(<number>,<number>,<number>,<number>,<number>,<number>); 

matrix()是矩阵函数,以一个含六值的(a,c,e,b,d,f)变换矩阵的形式指定一个2D变换,约等于直接采纳一个[a
c e b d f]改换矩阵,其中c和e用正弦或余弦值表示

那多少个参数实际上是一个3*3的矩阵:

亚洲必赢官网 15

.box:hover {
    transform: matrix(1, 0, 0, 2, 40, 20);
}

亚洲必赢官网 16

同样的,可用matrix3d定义3D转换,其是一个应用 了16 个值的 4×4 矩阵

 

  6)透视 transform: perspective(length); 设置查看者的岗位,并将可视内容映射到一个视锥上,继而投影到一个
2D 视平面上
透视还足以直接定义成属性
perspective: <length>,但其是安装富有的子成分有一个合伙的透视值

其对于 3D 变换的话非常紧要,借使不指定透视,则 Z
空间中的所有点将平铺到同一个 2D
视平面中,并且变换结果上将不存透视深概念。功效于成分的子成分。

如下二种样式定义,结果一律

body {
    perspective: 300px;
}
.box:hover {
    transform: rotateY(30deg);
}

.box:hover {
    transform: perspective(300px) rotateY(30deg);
}

亚洲必赢官网 17

  7) transfrom相关的别样质量

除开transform之外,还有一部分更换相关的属性,那多少个属性很少用到,还没通晓到位…

  • transform-origin 变形原点 — 允许你转移被转换成分的地点
  • transform-style  3D展现 — 规定被嵌套元素如何在 3D 空间中显示
  • perspective-origin  透视原点 — 规定 3D 成分的平底地方
  • backface-visibility  隐藏内容的西部– 定义成分在不面对显示器时是否可知

 

  7-1)transform-origin

该属性提供2个参数值,首个用于横坐标,第四个用于纵坐标;借使只提供一个,该值将用以横坐标,纵坐标将默许为50%。

percentage:用百分比指定坐标值。可以为负值。

length:用长度值指定坐标值。可以为负值。

left center right是水平方向取值,而top center bottom是笔直方向的取值。

.box:hover {
    transform-origin: left;
    transform: rotate(30deg);
}

亚洲必赢官网 18

  7-2) transform-style  

设置内嵌的成分在 3D 空间怎么样突显。有七个值:flat:所有子元素在 2D
平面彰显;preserve-3d:保留3D空间

 

  7-3) perspective-origin

该属性定义在X轴和Y轴的3D成分。那天性子允许你改变3D成分的底层地点。定义时的perspective-origin属性,它是一个要素的子成分,透视图,而不是因素自己。
利用此属性必须和perspective属性一起使用,只影响3D变换的成分

该属性提供2个参数值,首个用于横坐标,第一个用于纵坐标;就算只提供一个,该值将用来横坐标,纵坐标将暗中承认为50%。

percentage:用百分比指定坐标值。可以为负值。

length:用长度值指定坐标值。可以为负值。

left,center right是水平方向取值,而top center bottom是笔直方向的取值。

  

  7-4)backface-visibility

该属性可用以隐藏内容的北部。暗许情形下,背面可知,那象征就是在回转后,变换的始末照旧可知。但当
backface-visibility 设置为 hidden
时,旋转后内容将潜伏,因为旋转后庄敬将不再可知。取值有:

visible:暗中认可值,旋转的时候背景可知。

hidden:旋转的时候背景不可知。

 

2. 变形操作

  1)旋转 transform: rotate(<angle>);
 
 angle取值有:角度值deg,弧度值rad,梯度gard,转/圈turn,正数值代表顺时针旋转,反之逆时针

.box:hover {
    transform: rotate(-30deg);
}

亚洲必赢官网 19

只要对成分自己如故成分设置了perspective值(用于安装查看者的职责),那么rotate3d()函数可以兑现一个3维空间内的转动

rotateX(angele),相当于rotate3d(1,0,0,angle)点名在3维空间内的X轴旋转

rotateY(angele),相当于rotate3d(0,1,0,angle)点名在3维空间内的Y轴旋转

rotateZ(angele),相当于rotate3d(0,0,1,angle)点名在3维空间内的Z轴旋转

.box:hover {
    transform: perspective(300px) rotateY(120deg);
}

亚洲必赢官网 20

.box:hover {
    transform: rotateY(120deg);
}

亚洲必赢官网 21

.box:hover {
    transform: rotate3d(1, 0, 0, 45deg);
}

亚洲必赢官网 22

  2)缩放 transform: scale(<number>[,
<number>]); 表示使成分在X轴和Y轴同时缩放

<number>表示缩放倍数,可以是正数,负数和小数。负数是先翻转元素然后再缩放。包罗三个参数,要是缺失第三个参数,那么第四个参数的值等于第二个参数。

scaleX(<number>):意味着只在X轴(水平方向)缩放成分。

scaleY(<number>):意味着只在Y轴(垂直方向)缩放成分。

scaleZ(<number>):意味着只在Z轴缩放成分。前提是因素本身依然成分的父成分设定了透视值

同样的,有scale3d(x, y, z)

.box:hover {
    transform: scale(1.5);
}

亚洲必赢官网 23

.box:hover {
    transform: scale(2, 1);
}

亚洲必赢官网 24

.box:hover {
    transform: scaleY(1.5);
}

亚洲必赢官网 25

  3)位移 transform: translate(<translation-value>[,
<translation-value>]); 表示使成分在X轴和Y轴同时活动

<translation-value>表示位移量。包含八个参数,如若不难了首个参数则第三个参数为0;假诺参数为负,则代表往相反的方向移动。

translateX(<translation-value>);表示只在X轴(水平方向)移动成分。

translateY(<translation-value>);表示只在Y轴(垂直方向)移动成分。

translateZ(<translation-value>);表示只在Z轴移动成分,前提是因素本人仍旧成分的父成分设定了透视值

同样的,有transform(x, y, z)

.box:hover {
    transform: translate(100px);
}

亚洲必赢官网 26

.box:hover {
    transform: translate(-30px, 50px);
}

亚洲必赢官网 27

  4)倾斜 transform: skew(<angle>
[,<angle>]);
包蕴三个参数值,分别代表X轴和Y轴倾斜的角度,取值类型为角度值deg

如若第一个参数为空,则默许为0,参数为负表示向相反方向倾斜。

skewX(<angle>);代表只在X轴(水平方向)倾斜

skewY(<angle>);表示只在Y轴(垂直方向)倾斜

.box:hover {
    transform: skewX(30deg);
}

亚洲必赢官网 28

.box:hover {
    transform: skew(30deg, 30deg);
}

亚洲必赢官网 29

  5)矩阵变形 transform: matrix(<number>,<number>,<number>,<number>,<number>,<number>); 

matrix()是矩阵函数,以一个含六值的(a,c,e,b,d,f)变换矩阵的款型指定一个2D转移,约等于直接动用一个[a
c e b d f]更换矩阵,其中c和e用正弦或余弦值表示

那八个参数实际上是一个3*3的矩阵:

亚洲必赢官网 30

.box:hover {
    transform: matrix(1, 0, 0, 2, 40, 20);
}

亚洲必赢官网 31

一如既往的,可用matrix3d定义3D转换,其是一个运用 了16 个值的 4×4 矩阵

 

  6)透视 transform: perspective(length); 设置查看者的职位,并将可视内容映射到一个视锥上,继而投影到一个
2D 视平面上
透视还是可以间接定义成属性
perspective: <length>,但其是设置有着的子成分有一个联机的透视值

其对于 3D 变换的话任重(英文名:rèn zhòng)而道远,尽管不点名透视,则 Z
空间中的所有点将平铺到同一个 2D
视平面中,并且变换结果司令员不存透视深概念。作用于元素的子元素。

正如三种体裁定义,结果同样

body {
    perspective: 300px;
}
.box:hover {
    transform: rotateY(30deg);
}

.box:hover {
    transform: perspective(300px) rotateY(30deg);
}

亚洲必赢官网 32

  7) transfrom相关的其余属性

除外transform之外,还有局地转移相关的习性,这几天特性很少用到,还没精晓到位…

  • transform-origin 变形原点 — 允许你转移被更换成分的职位
  • transform-style  3D展现 — 规定被嵌套元素如何在 3D 空间中显得
  • perspective-origin  透视原点 — 规定 3D 成分的最底层地方
  • backface-visibility  隐藏内容的北侧
    — 定义成分在不直面显示屏时是还是不是可知

 

  7-1)transform-origin

该属性提供2个参数值,第三个用于横坐标,第三个用于纵坐标;若是只提供一个,该值将用来横坐标,纵坐标将私自认同为50%。

percentage:用百分比指定坐标值。可以为负值。

length:用长度值指定坐标值。能够为负值。

left center right是水平方向取值,而top center bottom是垂直方向的取值。

.box:hover {
    transform-origin: left;
    transform: rotate(30deg);
}

亚洲必赢官网 33

  7-2) transform-style  

安装内嵌的元素在 3D 空间怎么着显示。有八个值:flat:所有子元素在 2D
平面突显;preserve-3d:保留3D空间

 

  7-3) perspective-origin

该属性定义在X轴和Y轴的3D成分。那本天性允许你改变3D元素的底部地方。定义时的perspective-origin属性,它是一个因素的子成分,透视图,而不是因素本身。
应用此属性必须和perspective属性一起利用,只影响3D转换的成分

该属性提供2个参数值,首个用于横坐标,首个用于纵坐标;假如只提供一个,该值将用来横坐标,纵坐标将暗中认可为50%。

percentage:用百分比指定坐标值。可以为负值。

length:用长度值指定坐标值。可以为负值。

left,center right是程度方向取值,而top center bottom是笔直方向的取值。

  

  7-4)backface-visibility

该属性可用于隐藏内容的北侧。暗中认同意况下,背面可知,这意味着就是在扭转后,变换的始末如故可知。但当
backface-visibility 设置为 hidden
时,旋转后内容将潜伏,因为旋转后严肃将不再可知。取值有:

visible:私行认同值,旋转的时候背景可知。

hidden:旋转的时候背景不可知。

 

    1.transition-propery

二、过渡transition

对接transition是一个复合属性,可以而且定义transition-property、transition-duration、transition-timing-function、transition-delay子属性值

页面结构如上,依照例子精通这几个属性

  1. 汇总transition
     可同时安装多个子属性值

         .box {
             position: relative;
             margin: 200px auto;
             width: 100px;
             height: 20px;
             text-align: center;
             border: 1px solid #ddd;
             background-color: #75e275;
             cursor: pointer;
    
             transition: 2s background-color;
         }            
    
         .box:hover {
             background-color: #0f0;
         }    
    

亚洲必赢官网 34

2.transition-property 亟待连接的性质 all |
none | <property>[ ,<property> ]

transition-duration: 2s;
transition-property: height,background-color

        .box:hover {
            width: 130px;
            height: 30px;
            background-color: #0f0;
        }    

亚洲必赢官网 35

3. transition-duration安装动画过渡的小运[实践时间],暗许值0表示不接入直接看看举行后的结果。单位是秒s,也能够是阿秒ms

4.transition-delay安装动画延迟执行的时光,暗中同意值0表示登时实施,时间足以是正数也能够是负数,负数表示截断规定时间内的卡通片。单位是秒s,也足以是微秒ms

transition-delay: 1000ms;
transition-duration: 2s;
transition-property: height,background-color

亚洲必赢官网 36

5. transition-timing-function装置动画的连片效果,暗中认同值ease,取值有

ease:缓解作用,等同于cubic-bezier(0.25,0.1,0.25,1.0)函数,既立方贝塞尔

linear:线性效果,等同于cubic-bezier(0.0,0.0,1.0,1.0)函数

ease-in:渐显功能,等同于cubic-bezier(0.42,0,1.0,1.0)函数

ease-out:渐隐效果,等同于cubic-bezier(0,0,0.58,1.0)函数

ease-in-out:渐显渐隐效果,等同于cubic-bezier(0.42,0,0.58,1.0)函数

cubic-bezier:特殊的立方贝塞尔曲线效果

transition-timing-function: linear;
transition-delay: 1000ms;
transition-duration: 2s;
transition-property: height,background-color

亚洲必赢官网 37

 

二、过渡transition

对接transition是一个复合属性,可以而且定义transition-property、transition-duration、transition-timing-function、transition-delay子属性值

页面结构如上,根据例子熟谙那么些属性

  1. 汇总transition
     可同时安装五个子属性值

         .box {
             position: relative;
             margin: 200px auto;
             width: 100px;
             height: 20px;
             text-align: center;
             border: 1px solid #ddd;
             background-color: #75e275;
             cursor: pointer;
    
             transition: 2s background-color;
         }            
    
         .box:hover {
             background-color: #0f0;
         }    
    

亚洲必赢官网 38

2.transition-property 亟待衔接的质量 all |
none | <property>[ ,<property> ]

transition-duration: 2s;
transition-property: height,background-color

        .box:hover {
            width: 130px;
            height: 30px;
            background-color: #0f0;
        }    

亚洲必赢官网 39

3. transition-duration装置动画过渡的时间[实践时间],暗中同意值0表示不接入直接观察举办后的结果。单位是秒s,也得以是皮秒ms

4.transition-delay装置动画延迟执行的小时,暗中认同值0表示立刻实施,时间可以是正数也可以是负数,负数表示截断规定时间内的动画片。单位是秒s,也足以是阿秒ms

transition-delay: 1000ms;
transition-duration: 2s;
transition-property: height,background-color

亚洲必赢官网 40

5. transition-timing-function设置动画的联网效果,私行认同值ease,取值有

ease:缓解功效,等同于cubic-bezier(0.25,0.1,0.25,1.0)函数,既立方贝塞尔

linear:线性效果,等同于cubic-bezier(0.0,0.0,1.0,1.0)函数

ease-in:渐显功效,等同于cubic-bezier(0.42,0,1.0,1.0)函数

ease-out:渐隐效果,等同于cubic-bezier(0,0,0.58,1.0)函数

ease-in-out:渐显渐隐效果,等同于cubic-bezier(0.42,0,0.58,1.0)函数

cubic-bezier:特殊的立方贝塞尔曲线效果

transition-timing-function: linear;
transition-delay: 1000ms;
transition-duration: 2s;
transition-property: height,background-color

亚洲必赢官网 41

 

      语法:transition-property:none| all |[<IDENT>]
[‘,'<IDEBT>]*
      transition-property
是用来指定当前因素中一个性情改变时实施transition
      效果,其首要性有以下多少个值:none(没有质量改变);
all(所有属性改变)那些也是其暗许值;indent(成分属性名)
      当其值为none时,transiton霎时平息实施,当指定为all时,则元素暴发其他性质变化时都将推行transition效果
      ident是可以指定元素的某个属性值,
        1.color:通过红,黄,蓝 和折射率组件变化
如:background-color,border-color,color,outline-color等css属性;
        2.length
真真的数字。如:word-spacing,width,vertical-align,top,right,bottom,left,padding,
        3.percentage:真实的数字,如:如:word-spacing,width,vertical-align,top,right,bottom,left,padding,
        4.integer
离转悠骤(整个数字),在真正的数字空间,以及选用floor()转换为整数时爆发如:outline-offset,z-index等质量
        5.number真实的(浮点型)数值,如:zoom,opacity,font-weight,等属性。
        6.transform list
        7.rectangle:通过x,y,width 和height(转为数值)
变换,如crop
        8.visibility:离散步骤,在0 到1 数字范围以内,0
表示隐藏,1代表完全”突显”,如visibility
        9.shadow:作用于color,x,y,和blur(模糊),如text-shadow
        10.gradient;通过每一次截至时的职位和颜色进行转变。
        11.paint server (SVG):
只协理上边的情事:从gradient到gradient以及color到color,然后工作与地点类似
        12.space-separated list of
above:即便列表有一致的品种数值,
        13.a shorthand property:
如若缩写的有着片段都落实动画,则会像拥有单个属性变化一样变更

三、动画animation

动画的行使,首先通过@(-webkit-)keyframes 定义动画名称及动画的表现,再通过animation属性设置动画特征相关值举办调用

        @keyframes test {
            from {
                width: 100px;
                height: 20px;
            }

            50% {
                height: 50px;
            }

            to {
                width: 130px;
                height: 30px;
                background-color: #0f0;
            }
        }

        .box:hover {
            animation: test 2s;
        }

上述代码设置了一个名号为test的卡通,动画执行时间为2s,定义了从初叶(from|0%)到截至(to|100%)的卡通片行为,最先的from可以简不难单,但收尾的不可省略

生效果图

亚洲必赢官网 42

  1. 综合animation
    ,可同时定义多少个子属性

  2. animation-name
    动画名称,需与@keyframes中装置的同等

  3. animation-duration 动画执行时间
     <time>:正数,单位可以是秒(s)恐怕微秒(ms)。暗许值为0,申明动画不履行

  4. animation-delay 动画延迟时间
     默许值0表示立时实施,正数为动画片延迟一定时间,负数为截断一定时间内的卡通片。单位为秒(s)或微秒(s)

5. animation-timing-function
动画的连结类型,取值有:

ease:缓解效用,等同于cubic-bezier(0.25,0.1,0.25,1.0)函数,既立方贝塞尔。

linear:线性效果,等同于cubic-bezier(0.0,0.0,1.0,1.0)函数。

ease-in:渐显功能,等同于cubic-bezier(0.42,0,1.0,1.0)函数。

ease-out:渐隐效果,等同于cubic-bezier(0,0,0.58,1.0)函数。

ease-in-out:渐显渐隐效果,等同于cubic-bezier(0.42,0,0.58,1.0)函数。

step-start:即刻转跳到动画停止状态。

step-end:保持动画先河情况,直到动画执行时间截止,马上转跳到动画甘休状态。

steps(<number>[, [ start | end ]
]?):第四个参数number为指定的间隔数,即把动画分为n步阶段性显示,第一个参数暗中同意为end,设置最后一步的动静,start为完工时的动静,end为始发时的气象,若设置与animation-fill-mode的效能争辩,而以animation-fill-mode的设置为动画片截止的图景。

cubic-bezier(<number>, <number>, <number>,
<number>):特殊的立方贝塞尔曲线效果。

        @keyframes test {
            to {
                transform: rotate(1turn);
            }
        }

        .box:hover {
            animation-name: test;
            animation-duration: 2s;
            animation-delay: -.5s;
            animation-iteration-count: 2;
            animation-timing-function: linear;
        }

亚洲必赢官网 43

值得注意的是steps中number参数的含义,
有关steps的参数解析

        @keyframes test {
            50% {
                width: 130px;
            }

            100% {
                width: 160px;
            }
        }

        .box:hover {
            animation-name: test;
            animation-duration: 1s;
            animation-timing-function: steps(5);
            animation-fill-mode: forwards;
        }

steps(5)表示将动画片行为中的逐个间隔分成5段来举行,即0-50%分成5段,50%-100%分为5段 

亚洲必赢官网 44

6.
animation-iteration-count: <number>|infinite;
指定对象动画循环播放的次数。 infinite为无限循环

7.
animation-direction 指定对象动画运动的自由化

normal:正常方向,暗中承认。

reverse:动画反向运行,方向始终与normal相反。(FF14.0.1以下不帮助)

alternate:动画会循环正反方向交替运动,奇多次(1、3、5……)会正常活动,偶数十次(2、4、6……)会反向运动,即所有相关联的值都会反向。

alternate-reverse:动画从反向开头,再正反方向交替运动,运动方向始终与alternate定义的相反。(FF14.0.1以下不帮助)

animation-direction: alternate-reverse;

亚洲必赢官网 45

 

  1. animation-fill-mode: 检索或设置对象动画时间之外的意况,取值有

none:暗中同意值。不安装对象动画之外的处境

forwards:截止后保持动画为止时的情景,但当animation-direction为0,则动画不履行,持续保持动画初叶时的动静

backwards:甘休后赶回动画早先时的图景

both:截止后可听从forwards和backwards七个规则

        @keyframes test {
            to {
                width: 130px;
            }
        }

        .box:hover {
            animation-name: test;
            animation-duration: 1s;
            animation-timing-function: linear;
            animation-fill-mode: backwards;
        }    

亚洲必赢官网 46

animation-fill-mode: forwards; /* or both */

亚洲必赢官网 47

 

  1. animation-play-state: running | paused
    检索或安装对象动画的事态,running为专擅认同值

         @keyframes test {
             to {
                 transform-origin: center center;
                 transform: rotate(1turn);
             }
         }
    
         .box {
             animation-name: test;
             animation-duration: 1s;
             animation-timing-function: linear;
             animation-fill-mode: forwards;
             animation-iteration-count: infinite;
         }
    
         .box:hover {
             animation-play-state: paused;
         }    
    

亚洲必赢官网 48

 

三、动画animation

卡通的应用,首先通过@(-webkit-)keyframes 定义动画名称及动画的表现,再经过animation属性设置动画特征相关值举办调用

        @keyframes test {
            from {
                width: 100px;
                height: 20px;
            }

            50% {
                height: 50px;
            }

            to {
                width: 130px;
                height: 30px;
                background-color: #0f0;
            }
        }

        .box:hover {
            animation: test 2s;
        }

如上代码设置了一个称号为test的动画片,动画执行时间为2s,定义了从起先(from|0%)到竣事(to|100%)的卡通片行为,开头的from可以容易,但收尾的不可省略

生效果图

亚洲必赢官网 49

  1. 综合animation
    ,可同时定义八个子属性

  2. animation-name
    动画名称,需与@keyframes中装置的同等

  3. animation-duration 动画执行时间
     <time>:正数,单位可以是秒(s)只怕阿秒(ms)。暗中认同值为0,注脚动画不履行

  4. animation-delay 动画延迟时间
     默许值0表示登时实施,正数为动画延迟一定时间,负数为截断一定时间内的卡通片。单位为秒(s)或皮秒(s)

5. animation-timing-function
动画的接入类型,取值有:

ease:缓解功效,等同于cubic-bezier(0.25,0.1,0.25,1.0)函数,既立方贝塞尔。

linear:线性效果,等同于cubic-bezier(0.0,0.0,1.0,1.0)函数。

ease-in:渐显成效,等同于cubic-bezier(0.42,0,1.0,1.0)函数。

ease-out:渐隐效果,等同于cubic-bezier(0,0,0.58,1.0)函数。

ease-in-out:渐显渐隐效果,等同于cubic-bezier(0.42,0,0.58,1.0)函数。

step-start:马上转跳到动画为止状态。

step-end:保持动画开端景况,直到动画执行时间甘休,马上转跳到动画截止状态。

steps(<number>[, [ start | end ]
]?):第四个参数number为指定的间隔数,即把动画分为n步阶段性显示,第一个参数暗中认可为end,设置最终一步的意况,start为了却时的情况,end为初始时的景况,若设置与animation-fill-mode的效率争持,而以animation-fill-mode的设置为动画截至的事态。

cubic-bezier(<number>, <number>, <number>,
<number>):特殊的立方贝塞尔曲线效果。

        @keyframes test {
            to {
                transform: rotate(1turn);
            }
        }

        .box:hover {
            animation-name: test;
            animation-duration: 2s;
            animation-delay: -.5s;
            animation-iteration-count: 2;
            animation-timing-function: linear;
        }

亚洲必赢官网 50

值得注意的是steps中number参数的意思,
至于steps的参数解析

        @keyframes test {
            50% {
                width: 130px;
            }

            100% {
                width: 160px;
            }
        }

        .box:hover {
            animation-name: test;
            animation-duration: 1s;
            animation-timing-function: steps(5);
            animation-fill-mode: forwards;
        }

steps(5)表示将动画片行为中的每一种间隔分成5段来进展,即0-50%分成5段,50%-100%分为5段 

亚洲必赢官网 51

6.
animation-iteration-count: <number>|infinite;
指定对象动画循环播放的次数。 infinite为极其循环

7.
animation-direction 指定对象动画运动的大方向

normal:正常方向,私自认同。

reverse:动画反向运行,方向始终与normal相反。(FF14.0.1以下不支持)

alternate:动画会循环正反方向交替运动,奇数十次(1、3、5……)会正常活动,偶数十次(2、4、6……)会反向运动,即具备相关联的值都会反向。

alternate-reverse:动画从反向开首,再正反方向交替运动,运动方向始终与alternate定义的反倒。(FF14.0.1以下不援救)

animation-direction: alternate-reverse;

亚洲必赢官网 52

 

  1. animation-fill-mode: 检索或安装对象动画时间之外的意况,取值有

none:默许值。不设置对象动画之外的情景

forwards:截止后维持动画甘休时的气象,但当animation-direction为0,则动画不执行,持续保持动画发轫时的图景

backwards:截至后归来动画起先时的情况

both:截止后可依据forwards和backwards五个规则

        @keyframes test {
            to {
                width: 130px;
            }
        }

        .box:hover {
            animation-name: test;
            animation-duration: 1s;
            animation-timing-function: linear;
            animation-fill-mode: backwards;
        }    

亚洲必赢官网 53

animation-fill-mode: forwards; /* or both */

亚洲必赢官网 54

 

  1. animation-play-state: running | paused
    检索或设置对象动画的情况,running为专断认同值

         @keyframes test {
             to {
                 transform-origin: center center;
                 transform: rotate(1turn);
             }
         }
    
         .box {
             animation-name: test;
             animation-duration: 1s;
             animation-timing-function: linear;
             animation-fill-mode: forwards;
             animation-iteration-count: infinite;
         }
    
         .box:hover {
             animation-play-state: paused;
         }    
    

亚洲必赢官网 55

 

    2.transition-duration:

        transition-duration : <time> [,
<time>]*
        transition-duration 是用来指定元素,转换进程的持续时间
取值:<time>为数值,单位为s(秒)大概ms(飞秒),可以效率于具有因素,
        包蕴:before和:after伪成分。其默许值是0,也等于更换时是即时的。

    3.transition-timing-function:
的值允许你根据时间的兴风作浪去属性值的变换率有6个只怕值。

      1.ease:(逐渐变慢)默许值,ease函数等同于贝塞尔曲线 (0.25,
0.1, 0.25, 1.0)
      2.linear(均速)linear 函数等同于贝塞尔曲线(0.0,0.0,1.0,1.0)
      3.ease-in(增加速度),ease-in函数等同月贝塞尔曲线(0.42,0,1.0,1.0)
      4.ease-out(减速),ease-out函数等同于贝塞尔曲线(0,0,0.58.1,0)
      5.ease-in-out(加速然后减速),ease-in-out函数等同于贝塞尔曲线(0.42,-,0.58,1.0)
      6.cubic-bezier:(该值允许你去定义一个时日曲线),特定的cubic-bezier曲线

    4.transition-delay

      transition-delay : <time> [, <time>]*
      transition-delay是用来指定一个动画执行起来实践的时光,也等于说当改变成分属性值后多久执行transtion
      其取值:<time>为数值,单位为s(秒)恐怕ms(飞秒),其使用和transition-duration极其相似,也得以功效于所
      有成分,包蕴:before和:after伪成分。
暗中同意大小是”0″,约等于更换立刻执行,没有延迟。

    把多少个transition
的宣示串在一块,用逗号(”,“)隔开。

      如:
        a {
            -moz-transition: background 0.5s ease-in,color
0.3s ease-out;
            -webkit-transition: background 0.5s
ease-in,color 0.3s ease-out;
            -o-transition: background 0.5s ease-in,color
0.3s ease-out;
            transition: background 0.5s ease-in,color 0.3s
ease-out;
        }

    transition一个速记法:transition: <property>
<duration> <animation type> <delay>
      如:
        p {
            -webkit-transition: all .5s ease-in-out 1s;
            -o-transition: all .5s ease-in-out 1s;
            -moz-transition: all .5s ease-in-out 1s;
            transition: all .5s ease-in-out 1s;
        }

    由于transition 最早是由webkit内核浏览器提议的,
为了接济群众项目标浏览器须求加前缀
      //Mozilla内核    -moz-transition :
      //Webkit内核    -webkit-transition :
      //Opera      -o-transition :

Animation
    Keyframes 具有其和谐的语法规则 ,他的命名是由”@keyframes“
早先,前面跟着那么些动画的名称 加上一堆花括号。
    对于一个”@keyframes”中的样式规则是由多个百分比构成的,如“0%”到”100%”之间
    语法:
      @keyframes IDENT {
        from {
          Properties:Properties value;
        }
        Percentage {
          Properties:Properties value;
        }
        to {
          Properties:Properties value;
        }
      }

    可能全部写成百分比的方式:
      @keyframes IDENT {
          0% {
           Properties:Properties value;
        }
        Percentage {
          Properties:Properties value;
        }
        100% {
          Properties:Properties value;
        }
      }

    其中IDENT是一个动画片名称,你可以随便取,当然语义化一点更好,
      @-webkit-keyframes ‘wobble’ {
          0% {
            margin-left: 100px;
            background: green;
          }
          40% {
            margin-left: 150px;
            background: orange;
          }
          60% {
            margin-left: 75px;
            background: blue;
          }
          100% {
            margin-left: 100px;
            background: red;
            }
        }

    成分调用animation属性
       如:
          .demo1 {
              width: 50px;
              height: 50px;
              margin-left: 100px;
              background: blue;
              -webkit-animation-name:’wobble’;/*卡通属性名,相当于大家面前keyframes定义的动画名*/
              -webkit-animation-duration:
10s;/*卡通持续时间*/
              -webkit-animation-timing-function:
ease-in-out; /*动画频率,和transition-timing-function是一样的*/
              -webkit-animation-delay:
2s;/*卡通延迟时间*/
              -webkit-animation-iteration-count:
10;/*概念循环资料,infinite为极端次*/
              -webkit-animation-direction:
alternate;/*概念动画方式*/
          }

    属性
      1.animation-name:

        语法:animation-name: none | IDENT[,none | IDENT]*;
        animation-name:是用来定义一个动画的名称,其重大有多少个值:IDENT是由Keyframes创立的卡通名,
        换句话说此处的IDENT要和Keyframes中的IDENT一致,
        如果不等同,将不可能完结其余动画效果;none为暗中认同值,当值为none时,将从未其余动画效果。此外大家那
        个属性跟前面所讲的transition一样,大家能够而且附
        多少个animation给一个元素,大家只必要用逗号“,”隔开。
      2.animation-duratiuon
        语法:animation-duration:
<time>[,<time>]*
        animation-duration是用来指定成分播放动画所持续的时间长,取值:<time>为数值,单位为s
(秒.)其默许值为“0”。
        那性子情跟transition中的transition-duration使用办法是一律的。
      3.animation-timing-function:
        animation-timing-function:是指元素依据时间的促进来改变属性值的变换速率,说得不难点就是卡通的播放方式。
        他和transition中的transition-timing-function一样,具有以下七种转移格局:ease;ease-in;ease-in-out;linear;cubic-bezier。
        具体的行使方法我们可以点那里,查看里面transition-timing-function的使用格局。
      4.animation-delay
        语法:animation-delay: <time>[,<time>]*
        animation-delay:是用来指定成分动画开首时间。取值为<time>为数值,单位为s(秒),其暗中认同值也是0。
        那天性格和transition-delayy使用格局是一致的。
      5.animation-iteration-count
        animation-iteration-count:infinite | <number> [,
infinite | <number>]*
        animation-iteration-count是用来指定元素播放动画的轮回次数,其得以取值<number>为数字,其暗中认可值为“1”;infinite为无限次数循环。
      6.animation-direction
        语法: animation-direction: normal | alternate [,
normal | alternate]*
        animation-direction是用来指定成分动画播放的趋向,其唯有三个值,暗许值为normal,假诺设置为normal时,
        动画的每趟循环都从前进播放;
        另一个值是alternate,他的效益是,动画播放在第偶数十次向前播放,第奇多次向反方向播放。
      7.animation-play-state
        语法:animation-play-state:running | paused [, running
| paused]*
        animation-play-state紧假若用来控制成分动画的播音状态。其紧要有多少个值,running和paused其中running为暗中同意值。
        他们的作用就象是于大家的音乐播放器一样,可以通过paused将正在播放的动画片停下了,也得以经过running将中止的动画重新播放,
        咱们那边的重新播放不必然是从成分动画的初阶播放,而是从您暂停的格外地点上马播报。

 

Transform
    字母上就是变形,改变的情致,在css3中transform主要概括一下三种,旋转rotate,扭曲skew,缩放scale和活动translate
    以及矩阵变形matrix
    语法:transform : none | <transform-function> [
<transform-function> ]*
    也就是:

        transform: rotate |
scale | skew | translate |matrix;

        none表示不进怎么转移;<transform=function>表示一个要么多个变换函数,以空格分开;
        换句话说就是大家同时对一个因素进行transform的两种操作,例如
        rotate,scale,translate
二种,但这边须求指示大家的,以往大家叠加效果都以用逗号(“,”)隔开,
        但transform中利用三个属性时却需求有空格隔开。大家记住了是空格隔开。

    1.旋转rotate
      通过点名的角度参数对原元素指定一个2D rotation(2D
旋转),需先有transform-origin属性的概念。
      transform-origin定义的是旋转的基点,其中angle是指旋转角度,
      要是设置的值为正数表示顺时针旋转,就算设置的值为负数,则表示逆时针旋转。如:transform:rotate(30deg):
    2.移动translate
      移动translate大家分为三种情况:translate(x,y)水平方向和垂直方向同时活动(也等于X轴和Y轴同时活动);
      translateX(x)仅水平方向移动(X轴移动);translateY(Y)仅垂直方向移动(Y轴移动)
    3.缩放scale
      缩放scale和活动translate是无限相似,他也存有几种情状:scale(x,y)使成分水平方向和垂直方向同时缩放
      (也等于X轴和Y轴同时缩放);scaleX(x)成分仅水平方向缩放(X轴缩放);
      scaleY(y)成分仅垂直方向缩放(Y轴缩放),但它们具有同等的缩放宗旨点和基数,其中央点就是因素的宗旨岗位,
      缩放基数为1,如若其值超出1成分就推广,反之其值紧跟于1,元素减弱。
    4.扭曲skew
      扭曲skew和translate,secale
skew(x,y)使成分在档次和垂直方向同时扭曲(X轴和Y轴同时按一定的角度值进行翻转变形);
      skewX(x)仅使成分在档次方向扭曲变形(X轴扭曲变形);skewY(y)仅使成分在笔直方向扭曲变形(Y轴扭曲变形)
    5.矩阵matrix
      matrix(<number>, <number>, <number>,
<number>, <number>, <number>)
以一个含六值的(a,b,c,d,e,f)
      变换矩阵的样式指定一个2D转换,
      也就是直接利用一个[a b c d e
f]转移矩阵。就是依据水平方向(X轴)和垂直方向(Y轴)重新定位成分,
    6.转移成分的重头戏
transform-origin
      他的要害功用就是让我们在进展transform动作在此以前能够转移成分的主心骨地点,因为大家成分暗许基点就是其主导岗位,
      换句话说大家从未采纳transform-origin改变成分基点地点的事态下,
      transform进行的rotate,translate,scale,skew,matrix等操作都以以成分协调主题岗位举办转移的。

    面对差别浏览器的基业
    //Mozilla内核浏览器:firefox3.5+
        -moz-transform-origin: x y;
    //Webkit内核浏览器:Safari and Chrome
      -webkit-transform-origin: x y;
    //Opera
      -o-transform-origin: x y ;
    //IE9
      -ms-transform-origin: x y;
    //W3C标准

   如坐标地方发生变化:
    1.transform:translate(x,y):
      .menu ul li.translate a:hover {
        -moz-transform: translate(-10px,-10px);
        -webkit-transform: translate(-10px,-10px);
        -o-transform: translate(-10px,-10px);
        -ms-transform: translate(-10px, -10px);
        transform: translate(-10px,-10px);
      }

    2.transform:translateX(x)

    .menu ul li.translate-x a:hover {
      -moz-transform: translateX(-10px);
      -webkit-transform: translateX(-10px);
      -o-transform: translateX(-10px);
      -ms-transform: translateX(-10px);
      transform: translateX(-10px);
    }

    3.transform:translateY(y)
    .menu ul li.translate-y a:hover {
      -moz-transform: translateY(-10px);
      -webkit-transform: translateY(-10px);
      -o-transform: translateY(-10px);
      -ms-transform: translateY(-10px);
      transform: translateY(-10px);
    }

   4.transform:rotate(角度值)
    .menu ul li.rotate a:hover {
      -moz-transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      -o-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg);
    }

  5.transform:scale(x,y)
    .menu ul li.scale a:hover {
      -moz-transform: scale(0.8,0.8);
      -webkit-transform: scale(0.8,0.8);
      -o-transform: scale(0.8,0.8);
      -ms-transform: scale(0.8,0.8);
      transform: scale(0.8,0.8);
    }

  6.transform:scaleX(x)
   .menu ul li.scale-x a:hover {
      -moz-transform: scaleX(0.8);
      -webkit-transform: scaleX(0.8);
      -o-transform: scaleX(0.8);
      -ms-transform: scaleX(0.8);
      transform: scaleX(0.8);
    }

  

  7.transform:scaleY(y)
  .menu ul li.scale-y a:hover {
      -moz-transform: scaleY(1.2);
      -webkit-transform: scaleY(1.2);
      -o-transform: scaleY(1.2);
      -ms-transform: scaleY(1.2);
      transform: scaleY(1.2);
  }

  8.transform:skew(x,y)

   .menu ul li.skew a:hover {
      -moz-transform: skew(45deg,15deg);
      -webkit-transform: skew(45deg,15deg);
      -o-transform: skew(45deg,15deg);
      -ms-transform: skew(45deg,15deg);
      transform: skew(45deg,15deg);
    }

  9.transform:skewX(x)
   .menu ul li.skew-x a:hover {
      -moz-transform: skewX(-30deg);
      -webkit-transform: skewX(-30deg);
      -o-transform: skewX(-30deg);
      -ms-transform: skewX(-30deg);
      transform: skewX(-30deg);
    }
  10.transform:skewY(y)
   .menu ul li.skew-y a:hover {
      -moz-transform: skewY(30deg);
      -webkit-transform: skewY(30deg);
      -o-transform: skewY(30deg);
      -ms-transform: skewY(30deg);
      transform: skewY(30deg);
    }

  11.transform:matrix(a,b,c,d,e,f)

  .menu ul li.matrix a:hover {
    -moz-transform: matrix(1,1,-1,0,0,0);
    -webkit-transform: matrix(1,1,-1,0,0,0);
    -o-transform: matrix(1,1,-1,0,0,0);
    -ms-transform: matrix(1,1,-1,0,0,0);
    transform: matrix(1,1,-1,0,0,0);
  }

网站地图xml地图