需要知道的CSS3动画技术

2020-05-10 11:51:50易采站长站整理

复制代码
#nav {
/* nav元素的宽和高都会被放大双倍 */
-webkit-transform: scale(2);
-moz-transform: scale(2);
-o-transform: scale(2); }
#nav {
/* nav元素的宽会是双倍,而高度保持不变 */
-webkit-transform: scale(2, 1);
-moz-transform: scale(2, 1);
-o-transform: scale(2, 1);
}
#nav {
/* nav的宽度将是双倍,并且水平翻转,但是高度保持不变 */
-webkit-transform: scale(-2, 1);
-moz-transform: scale(-2, 1);
-o-transform: scale(-2, 1);
}
浏览器支持

scale属性目前只有Firefox, Safari/Chrome以及 opera 10.50支持,到目前为止没有一个IE版本支持。缩放一个对象是相当有意义的设计选择。它可以通过渐进增强来使用:hover,这可以在你的导航上添加一个小小的趣味。

复制代码
#nav li a:hover{
/* 这可以让你的导航链接在鼠标经过的时候轻微的放大 */
-webkit-transform: scale(1.1);
-moz-transform: scale(1.1);
-o-transform: scale(1.1);
}
translate

这个名称“translate(转化)”有点容易误解。它事实上是一种使用X和Y坐标值定位元素的方法。

Transform Translate in What You Need To Know About Behavioral CSS

复制代码
#nav{
/* 这会将nav元素向左移动10像素并向下移动20像素 */
-moz-transform: translate(10px, 20px);
-webkit-transform: translate(10px, 20px);
-o-transform: translate(10px, 20px);
}
浏览器支持

translate属性目前只被Firefox, Safari/Chrome和Oprea 10.5支持,而且还要使用浏览器的私有前缀-moz- 和-webkit-。

Skew

Skew也是一个很有用的transform功能,它可以将一个对象围绕着x和y轴按照一定的角度倾斜。这和rotate的旋转不一样,rotate只是旋转,而不会让元素的形状改变。skew会让一个元素的形状改变。skew有两个参数,分别代表x和y轴的倾斜度数

复制代码
#nav{
/* 这会将nav元素向左移动10像素并向下移动20像素 */
-moz-transform: skew(30deg, -10deg);
-webkit-transform: skew(30deg, -10deg);
-o-transform: skew(30deg, -10deg);
}
浏览器支持

Skew属性目前只被Firefox, Safari/Chrome和Oprea 10.5支持,而且还要使用浏览器的私有前缀-moz- 和-webkit-。

Matrix

没错,Matrix就是矩阵,矩阵是高等数学中非常基础的一个东东,而在CSS 3中确实一个相当高级的功能,CSS 3引入matrix函数,可以非常灵活的实现上述的各种效果。它有6个参数(a,b,c,d,e,f),它事实上是一个3*3矩阵,经过该矩阵将旧的参数转换成新值: