属性指定嵌套原始是怎样在三维空间中呈现。
语法:transform-style: flat | preserve-3d
flat 表示所有子元素在2D平面呈现。
preserve-3d 表示所在元素在3D空间中呈现。
定义3D元素距视图的距离,以像素计,当为元素定义perspective 属性时,其子元素获得透视效果,而不是元素本身
语法:perspective: number | none;
number 元素距离视图的距离,以像素计。
none 默认值,与0 相同,不设置透明。
属性定义3D元素所基于的X轴和Y轴,该属性允许您改变3D 元素的底部位置,定义的这个属性,它是一个元素的子元素,透视图,而不是元素本身。
语法:perspective-origin: x-axis y-axis
x-axis 定义该视图在x轴上的位置。
y-axis 定义该视图在y轴上的位置。
示例:
结果:如图
示例:
结果:如图
示例:
结果:如图
示例:(正方形)
结果:如图
4.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:
示例:
结果:如图
示例:
结果:动画从头到尾的速度是相同的。
示例:
结果:如图
示例:
结果:循环运动,鼠标悬浮停止。
语法:animation-play-state: paused | running
paused 动画已暂停
running 动画正在播放