首頁 > web前端 > css教學 > css3中如何進行2D和3D的轉化

css3中如何進行2D和3D的轉化

清浅
發布: 2018-11-17 09:29:34
原創
3017 人瀏覽過

這篇文章分享的是有關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>
登入後複製

效果圖

Image 11.jpg

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中如何進行2D和3D的轉化

#總結:以上就是這篇文章的內容了,希望對大家學習css3有幫助。

以上是css3中如何進行2D和3D的轉化的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板