您的位置:首页 > Web前端 > CSS

CSS3 2D/3D转换

2016-06-16 11:02 411 查看
Internet Explorer 10、Firefox 以及 Opera 支持 transform 属性。

Chrome 和 Safari 需要前缀 -webkit-。

Internet Explorer 9 需要前缀 -ms-。

1.2D转换

通过 translate() 方法,元素从其当前位置移动,根据给定的 left(x 坐标) 和 top(y 坐标) 位置参数:

transform:translate(50px,100px);


通过 rotate() 方法,元素顺时针旋转给定的角度。允许负值,元素将逆时针旋转。

transform: rotate(30deg);


通过 scale() 方法,元素的尺寸会增加或减少,根据给定的宽度(X 轴)和高度(Y 轴)参数:

//宽度变为之前的2倍,高度变为之前的4倍
transform: scale(2,4);


通过 skew() 方法,元素翻转给定的角度,根据给定的水平线(X 轴)和垂直线(Y 轴)参数:

//围绕x轴把元素翻转30度,围绕y轴把元素翻转20度
transform: skew(30deg,20deg);


matrix() 方法把所有 2D 转换方法组合在一起。

matrix() 方法需要六个参数,包含数学函数,允许您:旋转、缩放、移动以及倾斜元素。

transform:matrix(0.866,0.5,-0.5,0.866,0,0);


实例



<style>
div
{
width:200px;
height:200px;
border:2px solid blue;
background-color:gray;
}
#div2{
transform:translate(30px,30px) rotate(30deg);
}

</style>

<div >
这是原始的盒子
这是一段文字,这是一段文字,这是一段文字,这是一段文字,这是一段文字,这是一段文字,
</div>
<div id="div2" >
这是操作后的盒子
这是一段文字,这是一段文字,这是一段文字,这是一段文字,这是一段文字,这是一段文字,
</div>


2.3D转换

两者的区别是,二维的转换是在一个平面上顺时针转。三维的转换是由里向外转。

通过 rotateX() 方法,元素围绕其 X 轴以给定的度数进行旋转。



<style>
div
{
float:left;
width:200px;
height:200px;
border:2px solid blue;
background-color:gray;
}
#div2{
transform:rotateX(60deg);
}
#div3{
transform:rotateY(60deg);
}

</style>

<div >
这是原始的盒子
这是一段文字,这是一段文字,这是一段文字,这是一段文字,这是一段文字,这是一段文字,
</div>
<div id="div2" >
这是操作后的盒子
这是一段文字,这是一段文字,这是一段文字,这是一段文字,这是一段文字,这是一段文字,
</div>
<div id="div3" >
这是操作后的盒子
这是一段文字,这是一段文字,这是一段文字,这是一段文字,这是一段文字,这是一段文字,
</div>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  css3 2D-3D转换