CSS3 transform 属性

实例

旋转 div 元素:

  1. div
  2. {
  3. transform:rotate(7deg);
  4. -ms-transform:rotate(7deg); /* IE 9 */
  5. -moz-transform:rotate(7deg); /* Firefox */
  6. -webkit-transform:rotate(7deg); /* Safari 和 Chrome */
  7. -o-transform:rotate(7deg); /* Opera */
  8. }

页面底部有更多实例。

浏览器支持


IE Firefox Chrome Safari Opera
ie firefox chrome safari opera

Internet Explorer 10、Firefox、Opera 支持 transform 属性。

Internet Explorer 9 支持替代的 -ms-transform 属性(仅适用于 2D 转换)。

Safari 和 Chrome 支持替代的 -webkit-transform 属性(3D 和 2D 转换)。

Opera 只支持 2D 转换。

定义和用法

transform 属性向元素应用 2D 或 3D 转换。该属性允许我们对元素进行旋转、缩放、移动或倾斜。

为了更好地理解 transform 属性,请看这个实例

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. p {
  6. font-size:14px;
  7. font-family:Verdana, Arial, Helvetica, sans-serif;
  8. }
  9. #div1
  10. {
  11. width:120px;
  12. height:100px;
  13. background-color:yellow;
  14. border:1px solid black;
  15. -ms-transform:rotate(7deg); /* Firefox */
  16. -moz-transform:rotate(7deg); /* Firefox */
  17. -webkit-transform:rotate(7deg); /* Safari and Chrome */
  18. -o-transform:rotate(7deg); /* Safari and Chrome */
  19. transform:rotate(7deg);
  20. }
  21. </style>
  22. <script>
  23. function rotate(value)
  24. {
  25. document.getElementById('div1').style.webkitTransform="rotate(" + value + "deg)";
  26. document.getElementById('div1').style.msTransform="rotate(" + value + "deg)";
  27. document.getElementById('div1').style.MozTransform="rotate(" + value + "deg)";
  28. document.getElementById('div1').style.OTransform="rotate(" + value + "deg)";
  29. document.getElementById('div1').style.transform="rotate(" + value + "deg)";
  30. document.getElementById('span1').innerHTML=value + "deg";
  31. }
  32. </script>
  33. </head>
  34. <body>
  35. <p>请旋转这个黄色的 div 元素:</p>
  36. <div id="div1">HELLO</div>
  37. <p>
  38. 旋转:
  39. <br /><input type="range" min="-360" max="360" value="7" onchange="rotate(this.value)" /><br />
  40. transform: rotate(<span id="span1">7deg</span>);
  41. </p>
  42. </body>
  43. </html>
默认值: none
继承性: no
版本: CSS3
JavaScript 语法: object.style.transform="rotate(7deg)"

语法

  1. transform: none|transform-functions;
描述
none 定义不进行转换。
matrix(n,n,n,n,n,n) 定义 2D 转换,使用六个值的矩阵。
matrix3d(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n) 定义 3D 转换,使用 16 个值的 4x4 矩阵。
translate(x,y) 定义 2D 转换。
translate3d(x,y,z) 定义 3D 转换。
translateX(x) 定义转换,只是用 X 轴的值。
translateY(y) 定义转换,只是用 Y 轴的值。
translateZ(z) 定义 3D 转换,只是用 Z 轴的值。
scale(x,y) 定义 2D 缩放转换。
scale3d(x,y,z) 定义 3D 缩放转换。
scaleX(x) 通过设置 X 轴的值来定义缩放转换。
scaleY(y) 通过设置 Y 轴的值来定义缩放转换。
scaleZ(z) 通过设置 Z 轴的值来定义 3D 缩放转换。
rotate(angle) 定义 2D 旋转,在参数中规定角度。
rotate3d(x,y,z,angle) 定义 3D 旋转。
rotateX(angle) 定义沿着 X 轴的 3D 旋转。
rotateY(angle) 定义沿着 Y 轴的 3D 旋转。
rotateZ(angle) 定义沿着 Z 轴的 3D 旋转。
skew(x-angle,y-angle) 定义沿着 X 和 Y 轴的 2D 倾斜转换。
skewX(angle) 定义沿着 X 轴的 2D 倾斜转换。
skewY(angle) 定义沿着 Y 轴的 2D 倾斜转换。
perspective(n) 为 3D 转换元素定义透视视图。

实例

扔到桌子上面的图片

本例演示如何创建“宝丽来”图片,并旋转图片。

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. body
  6. {
  7. margin:30px;
  8. background-color:#E9E9E9;
  9. }
  10. div.polaroid
  11. {
  12. width:294px;
  13. padding:10px 10px 20px 10px;
  14. border:1px solid #BFBFBF;
  15. background-color:white;
  16. /* Add box-shadow */
  17. box-shadow:2px 2px 3px #aaaaaa;
  18. }
  19. div.rotate_left
  20. {
  21. float:left;
  22. -ms-transform:rotate(7deg); /* IE 9 */
  23. -moz-transform:rotate(7deg); /* Firefox */
  24. -webkit-transform:rotate(7deg); /* Safari and Chrome */
  25. -o-transform:rotate(7deg); /* Opera */
  26. transform:rotate(7deg);
  27. }
  28. div.rotate_right
  29. {
  30. float:left;
  31. -ms-transform:rotate(-8deg); /* IE 9 */
  32. -moz-transform:rotate(-8deg); /* Firefox */
  33. -webkit-transform:rotate(-8deg); /* Safari and Chrome */
  34. -o-transform:rotate(-8deg); /* Opera */
  35. transform:rotate(-8deg);
  36. }
  37. </style>
  38. </head>
  39. <body>
  40. <div class="polaroid rotate_left">
  41. <img src="/uploads/projects/cssref/i/ballade_dream.jpg" alt="郁金香" width="284" height="213" />
  42. <p class="caption">上海鲜花港的郁金香,花名:Ballade Dream。</p>
  43. </div>
  44. <div class="polaroid rotate_right">
  45. <img src="/uploads/projects/cssref/i/china_pavilion.jpg" alt="世博中国馆" width="284" height="213" />
  46. <p class="caption">2010年上海世博会,中国馆。</p>
  47. </div>
  48. </body>
  49. </html>

相关页面

CSS3 教程:CSS3 2D 转换

CSS3 教程:CSS3 3D 转换