移动
translate(x,y)
该方法可用于在页面上平移元素,参数x指代水平方向,y指代竖直方向。
语法:
<style> p{ transfrom:translate(10px,20px); /* 将p标签向右移动10px,向下移动20px */ } </style>
参数y可以省略,如果省略则代表竖直方向上偏移量为0。
如:
<style> p{ transform: translate(30px); /* 省略了竖直方向上的参数---竖直方向上平移距离为0px */ /* 将p标签元素向右平移30px */ } </style>
translateX(x)
该方法用于水平方向上的平移
translateY(y)
该方法用于竖直方向上的平移
实例:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>CSS3 2D移动效果</title> <style> div { width: 50px; height: 40px; margin: 20px; border: 1px solid; display: inline-block; /* 将块级元素转为行内块元素,一行可以放置多个div */ text-align: center; padding: 20px; background-image: url(image/caidog.png); /* 设置背景图片 */ background-size: 100%; /* 设置背景图片大小 */ } /* translate() */ div.change1 { transform: translate(70px, -30px); } /* translateX() */ div.change2 { transform: translateX(100px); /* 上面的语句等价于 transform:translate(100px); */ } /* translateY() */ div.change3 { transform: translateY(40px); } </style> </head> <body> <h3>CSS3 2D移动效果</h3> <h4>参照系没有移动</h4> <div>原图</div> <div>变化后</div> <hr> <h4>向右移动了70像素,向上移动了30像素</h4> <div>原图</div> <div class="change1">变化后</div> <hr> <h4>向右移动了像素</h4> <div>原图</div> <div class="change2">变化后</div> <hr> <h4>向下移动了40像素</h4> <div>原图</div> <div class="change3">变化后</div> </body> </html>
效果图:
旋转
rotate(<angle>)
该方法可用于在页面上旋转元素。参数<angle>代表旋转的角度,角度为正则顺时针旋转;角度为负则逆时针旋转。
语法:
<style> p { transform: rotate(30deg); /* 将p标签顺时针旋转30度 */ } </style>
<style> p { transform: rotate(-30deg); /* 将p标签逆时针旋转30度 */ } </style>
实例:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>CSS3 2D旋转效果----rotate</title> <style> div { width: 50px; height: 40px; margin: 10px 30px; /* 设置外边距 */ border: 1px solid; /* 设置边框粗细 */ display: inline-block; /* 将块级元素转变为行内块元素 */ text-align: center; /* 文本居中显示 */ padding: 20px; /* 设置内边距 */ background-image: url(image/caidog.png); /* 设置背景图片 */ background-size: 100%; /* 设置背景图片大小 */ } /* rotate() */ div.change1 { transform: rotate(30deg); /* 顺时针旋转30度 */ } div.change2 { transform: rotate(-20deg); /* 逆时针旋转20度 */ } </style> </head> <body> <h3>CSS3 2D旋转效果</h3> <h4>参照系没有移动</h4> <div>原图</div> <div>变化后</div> <hr> <h4>顺时针旋转20度</h4> <div>原图</div> <div class="change1">变化后</div> <hr> <h4>逆时针旋转20度</h4> <div>原图</div> <div class="change2">变化后</div> </body> </html>
效果图:
缩放
scale(x,y)
该方法由于在页面上放大或缩小元素。参数x,y代表放大或缩小的倍数。x,y 可以取整数或者浮点数,若参数小于1则代表缩小。
语法:
<style> p { transform: scale(2, 3); /* 将p标签的宽度变为原来的2倍。高度变为原来的3倍 */ } </style>
如果参数y省略,则默认y轴上的缩放倍数与x相同。
<style> p { transform: scale(2); /* 将p标签的宽度高度均变为原来的2倍 */ } </style>
scaleX(x)
指定x方向(水平方向)上的缩放
scaleY(y)
指定y方向(竖直方向)上的缩放
实例:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>CSS3 2D缩放效果</title> <style> div { width: 50px; height: 40px; margin: 10px 30px; border: 1px solid; display: inline-block; text-align: center; padding: 20px; background-image: url(image/caidog.png); background-size: 100%; } /* scale() */ div.change1 { transform: scale(0.6, 0.5); } /* scaleX() */ div.change2 { transform: scaleX(1.3); } /* scaleY() */ div.change3 { transform: scaleY(2.4); } </style> </head> <body> <h3>CSS3 2D缩放效果----scale</h3> <h4>参照系没有缩放</h4> <div>原图</div> <div>变化后</div> <hr> <h4>宽度缩小到原来的0.6倍,高度缩小到原来的0.5倍</h4> <div>原图</div> <div class="change1">变化后</div> <hr> <h4>宽度放大到原来的1.3倍</h4> <div>原图</div> <div class="change2">变化后</div> <hr> <h4>高度放大到原来的2.4倍</h4> <div>原图</div> <div class="change3">变化后</div> </body> </html>
效果图:
翻转
skew(<angleX>,<angleY>)
该方法用于页面元素的翻转。参数<angleX>代表水平方向x轴上的倾斜扭曲角度;<angleY>代表竖直方向y轴上的倾斜扭曲角度。
语法:
<style> p{ transform: skew(30deg,20deg); /* 将p标签横向倾斜30度,纵向倾斜20度 */ } </style>
参数<angleY>可以省略。如果省略,则默认为0。
如:
<style> p { transform: skew(30deg); /* 将p标签横向倾斜30度,纵向不倾斜 */ } </style>
scaleX(x)
该方法用于水平方向上的倾斜
scaleY(y)
该方法用于竖直方向上的倾斜
实例:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>CSS3 2D翻转效果</title> <style> div { width: 50px; height: 40px; margin: 10px 30px; border: 1px solid; display: inline-block; text-align: center; padding: 20px; background-image: url(image/caidog.png); background-size: 100%; } /* skew() */ div.change1 { transform: skew(45deg, 15deg); } /* skewX() */ div.change2 { transform: skewX(35deg); } /* skewY() */ div.change3 { transform: skewY(30deg); } </style> </head> <body> <h3>CSS3 2D翻转效果----skew</h3> <h4>参照系没有移动</h4> <div>原图</div> <div>变化后</div> <hr> <h4>x轴方向倾斜45度,y轴方向倾斜15度</h4> <div>原图</div> <div class="change1">变化后</div> <hr> <h4>x轴方向倾斜35度</h4> <div>原图</div> <div class="change2">变化后</div> <hr> <h4>y轴方向倾斜30度</h4> <div>原图</div> <div class="change3">变化后</div> </body> </html>