CSS3 transform 属性
旋转 div 元素:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> div { width: 200px; height: 100px; background-color: yellow; /* Rotate div */ transform: rotate(7deg); -ms-transform: rotate(7deg); /* IE 9 */ -webkit-transform: rotate(7deg); /* Safari and Chrome */ } </style> </head> <body> <div>Hello</div> </body> </html>
浏览器支持
表格中的数字表示支持该属性的第一个浏览器版本号。
紧跟在 -webkit-, -ms- 或 -moz- 前的数字为支持该前缀属性的第一个浏览器版本号。
属性 | |||||
---|---|---|---|---|---|
transform (2D) | 36.0 4.0 -webkit- |
10.0 9.0 -ms- |
16.0 3.5 -moz- |
9.0 3.2 -webkit- |
23.0 15.0 -webkit- 10.5 -o- |
transform (3D) | 36.0 12.0 -webkit- |
12.0 | 10.0 | 16.0 10.0 -moz- |
9.0 4.0 -webkit- |
属性定义及使用说明
Transform属性应用于元素的2D或3D转换。这个属性允许你将元素旋转,缩放,移动,倾斜等。
为了更好地理解Transform属性,请查看 - 在线实例.
<html> <!DOCTYPE html> <html> <head> <style> #div1 { width: 120px; height: 100px; background-color: yellow; border: 1px solid black; transform: rotate(7deg); -ms-transform: rotate(7deg); /* IE 9 */ -webkit-transform: rotate(7deg); /* Safari and Chrome */ } </style> <script> function rotate(value) { document.getElementById('div1').style.webkitTransform = "rotate(" + value + "deg)"; document.getElementById('div1').style.msTransform = "rotate(" + value + "deg)"; document.getElementById('div1').style.MozTransform = "rotate(" + value + "deg)"; document.getElementById('div1').style.OTransform = "rotate(" + value + "deg)"; document.getElementById('div1').style.transform = "rotate(" + value + "deg)"; document.getElementById('span1').innerHTML = value + "deg"; } </script> </head> <body> <p>Rotate the yellow div element:</p> <div id="div1">HELLO</div> Rotate: <br> <input type="range" min="-360" max="360" value="7" onchange="rotate(this.value)" /><br> transform: rotate(<span id="span1">7deg</span>); </body> </html>
默认值: | none |
---|---|
继承: | no |
版本: | CSS3 |
JavaScript 语法: | object.style.transform="rotate(7deg)" |
语法
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 转换元素定义透视视图。 |
更多实例
旋转图片 - 这个例子演示了如何创建"polaroid"照片和旋转图片。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> body { margin: 30px; background-color: #E9E9E9; } div.polaroid { width: 294px; padding: 10px 10px 20px 10px; border: 1px solid #BFBFBF; background-color: white; /* Add box-shadow */ box-shadow: 2px 2px 3px #aaaaaa; } div.rotate_left { float: left; -ms-transform: rotate(7deg); /* IE 9 */ -webkit-transform: rotate(7deg); /* Safari and Chrome */ transform: rotate(7deg); } div.rotate_right { float: left; -ms-transform: rotate(-8deg); /* IE 9 */ -webkit-transform: rotate(-8deg); /* Safari and Chrome */ transform: rotate(-8deg); } </style> </head> <body> <div class="polaroid rotate_left"> <img src="/examples/pulpitrock.jpg" alt="" width="284" height="213"> <p class="caption">The pulpit rock in Lysefjorden, Norway.</p> </div> <div class="polaroid rotate_right"> <img src="/examples/cinqueterre.jpg" alt="" width="284" height="213"> <p class="caption">Monterosso al Mare. One of the five villages in Cinque Terre.</p> </div> </body> </html>