這篇文章分享的是有關css3中的2D轉換和3D轉換,有一定的參考價值,希望對大家有所幫助
透過轉換,我們可以對元素進行移動、縮放、轉動、拉長或拉伸,需要注意瀏覽器的兼容問題,在寫程式的時候注意要寫清楚
Chrome 和Safari 需要前綴-webkit-,Internet Explorer 9 需要前綴-ms-
Internet Explorer 10 和Firefox 支援3D 轉換但Opera 仍然不支援3D 轉換
推薦課程#【css3】
2D轉換
translate()表示從其目前位置移動到設定的值,設定left值和top值
translate(100px,30px)//从左侧移动100px,从上往下移30px
rotate()表示元素順時針旋轉所設定的角度,當為負值時表示元素逆時針旋轉
rotate(30deg)//顺时针旋转30度
scale()表示元素的尺寸會增加或減少設定寬度(X 軸)和高度(Y 軸)
scale(3,4)//把宽度扩大为原来的2倍,把高度变为原来的4倍
skew()表示元素翻轉所設定的角度,設定X 軸和Y 軸
skew(30deg,20deg)//沿X轴把元素翻转30度,沿Y轴翻转20度
matrix()
matrix() 方法就是一個總的2D方法包含數學函數,旋轉,縮放,移動以及傾斜
matrix(0.866,0.5,-0.5,0.866,0,0)
例: <style> /*在chrome浏览器下运行*/ div { width:200px; height: 100px; text-align: center; line-height:100px; background-color: pink; -webkit-transform:translateX(150px);/*X轴移动150px*/ -webkit-transform:rotate(-50deg);/*按逆时针旋转50度*/ -webkit-transform:skew(20deg,20deg);/*沿X轴,Y轴旋转20度*/ } </style>
效果圖
3D轉換
#rotateX()表示沿著X軸旋轉多少度,rotateY() 表示沿Y軸旋轉
rotateX(30deg)//沿X轴旋转30度
translate3d(x,y,z):3D 轉換
translateX(x)適用X 軸的值,translateY(y)適用於Y值,translateZ( z) 適用用於Z 軸的值
translateX(100px)//向左移动100px
scale3d(x,y,z):3D 縮放轉換。
scaleX(x) 給定一個 X 軸的值, scaleY(y) 給定一個 Y 軸的值,scaleZ(z) 給定一個 Z 軸的值。
scaleX(1.5)//沿水平方向扩大1.5倍 scaleX(0.5)//沿水平方向缩小0.5倍
rotate3d(x,y,z,angle) :3D 旋轉。
rotateX(angle)沿 X 軸的 3D 旋轉, rotateY(angle) 沿 Y 軸的 3D 旋轉,rotateZ(angle)沿 Z 軸的 3D 旋轉。
rotateX(30deg)//沿X轴旋转30度
perspective(n) 定義 3D 轉換元素的透視視圖。
但目前瀏覽器不支援這個效果
例 <style type="text/css"> .demo{ width: 100px; height: 100px; } .box{ position: relative; width: 100px; height: 100px; transform-style: preserve-3d; transition: 1s; } .box1{ position: absolute; width:100px; height:100px; background-color:pink; } .demo:hover .box{ transform: rotateY(180deg); } </style> </head> <body> <div class="demo"> <div class="box"> <div class="box1"></div> </div> </div>
效果圖
#總結:以上就是這篇文章的內容了,希望對大家學習css3有幫助。
以上是css3中如何進行2D和3D的轉化的詳細內容。更多資訊請關注PHP中文網其他相關文章!