09 年 12 月 W3C 在 3D 草案的基础上,发布了 2D 的变形标准草案( http://www.w3.org/TR/css3-2d-transforms/ )。目前, 2 D 得到了各主流浏览器的支持。
transform: none | <transform-function> | [<transform-function>];
对于早期的版本的浏览器, WebKit 引擎支持 -WebKit-transform 私有属性, Mozilla Gecko 引擎支持 -moz-transform 私有属性, Presto 引擎支持 -o-transform 私有属性, IE 9 支持 -ms-transform 私有属性,目前大部分浏览器支持 transform 标准属性。
旋转元素,元素对象可以是内联元素也可以是块级元素:
rotate: <angle>;
div:hover {
/* 定义动画的状态 _ */
-webkit-transform: rotate(-90deg);
-moz-transform: rotate(-90deg);
-o-transform: rotate(-90deg);
transform: rotate(-90deg);
/* 兼容早期 IE */
filter: progid: DXImageTransform.Microsoft.BasicImage(rotation=3);
}
IE 在怪异模式下不支持 filter 属性,应该使用 IE 的私有属性定义,即 -ms-filter ,而不是 filter :ms-filter: progid: DXImageTransform.Microsoft.BasicImage(rotation=3);
缩放元素,包含两个参数,分别用来定义宽和高缩放比例:
number 可以是正数、负数、小数。正数值基于指定的宽和高缩放元素;负数值不会缩小元素,而是翻转元素,然后再缩放元素。使用小于 1 的数,则为缩小,若第二个参数省略,则第 2 个参数与第 1 个参数相同。
.test a:hover {
color: #fff;
font-weight: bold;
text-decoration: none;
background: url(images/icon2.jpg) #f00 no-repeat 5px 12px;
/*设置 a 元素在鼠标经过时放大2倍尺寸进行显示*/
-webkit-transform: scale(1.2);
-moz-transform: scale(1.2);
-o-transform: scale(1.2);
transform: scale(1.2);
}
移动元素 ,基于 X 和 Y 坐标的重新定位元素:
<div class="c" style="transform: translate(3rem,-2rem);">translate(<translation-value)[,<translation-value]</div>
<translation-value>
参数表示坐标值,第 1 个参数表示相对于原位置的 x 轴的偏移位置,第 2 个参数表示相对于原位置 y 轴偏移距离。如果省略了第 2 个参数
倾斜元素,基于 X 轴和 Y 轴的倾斜
<div class="c" style="transform: skew(6deg,3deg);">skew(<angle>[,<angle>]);</div>
矩阵变换,基于 X 和 Y 坐标重新定位元素位置
matrix(<number>,<number>,<number>,<number>,<number>,<number>)
变形原点通过 transform-origin 来设置:
transform-origin: [[<percentage> | <length> | left | center | right ]
[<percentage> | <length> |top | center | bottom ] | [[
left | center | right ] |
| [top | center | bottom]]
初始值为 50% 50% 。可接受任何有效方向数据,可以是百分比、 em 、 px ,也可以是 left 、 right 、 center 、 top 、 middle 、 bottom
backface-visibility 属性规定元素不面向屏幕时是否可见
backface-visibility: visible | hidden;