CSS3学习第6篇——2D/3D转换

2D/3D 转换属性(Transform)

属性描述CSS
transform向元素应用 2D 或 3D 转换。3
  • 定义和用法

transform 属性向元素应用 2D 或 3D 转换。该属性允许我们对元素进行旋转、缩放、移动或倾斜。

  • 语法

transform: none|transform-functions;

  • 2D转换示例:
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>2d转换 transform</title>
	<style type="text/css">
		div.content{
			width: 400px;
			height: 400px;
			background-color: #fff;
			border: 1px solid black;
			position: relative;
		}
		div#original{
			width: 200px;
			height: 200px;
			position: absolute;
			top:50px;
			left:50px;
			background-color: red;
			opacity: 0.5;
			z-index: 1;
		}

		div#transform{
			width: 200px;
			height: 200px;
			position: absolute;
			top:50px;
			left:50px;
			background-color: red;			
			z-index: 2;
			/*transform: translate(20px,30px);*/
			/*transform: rotate(30deg);*/
			/*transform: scale(0.5,0.5);*/
			transform: skew(0deg,30deg);
			/*transform: translate(20px,30px) rotate(30deg) scale(0.5,0.5);*/
		}
	</style>
</head>
<body>
	<div class="content">		
		<div id="original">original</div>
		<div id="transform">transform</div>
	</div>
</body>
</html>

效果:

  • 3D转换示例
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>css 3d转换</title>
	<style type="text/css">
		.box{
			width: 200px;
			height: 200px;
			border:1px solid gray;
			margin: 50px auto;
			perspective: 1000px;
		}

		.area{
			width: 200px;
			height: 200px;
			margin: 0px auto;
			background-color: orange;
			font-size: 100px;
			text-align: center;
			/*
			transform-style属性规定如何在 3D 空间中呈现被嵌套的元素。
			flat|preserve-3d;
			flat	子元素将不保留其 3D 位置。
			preserve-3d	子元素将保留其 3D 位置。
			*/
			/*transform-style:preserve-3d;*/
		}
		.box:hover .area{
			/*translateX:沿着X轴,从左向右移动*/
			/*transform: translateX(50px);*/
			/*translateY:沿着Y轴,从上向下移动*/
			/*transform: translateY(50px);*/
			/*translateZ:以方框中心为原点,变大*/
			/*transform: translateZ(30px);*/
			/*transform: translate3d(50px,50px,100px);*/

			/*沿着X轴,从下向上旋转 rotateX(a)函数功能等同于rotate3d(1,0,0,a)*/
			/*transform: rotateX(30deg);*/
			/*沿着Y轴,从左向右旋转 rotateY(a)函数功能等同于rotate3d(0,1,0,a)* /
			/*transform: rotateY(30deg);*/
			/*以方框中心为原点,顺时针旋转 rotateZ(a)函数功能等同于rotate3d(0,0,1,a)*/
			/*transform: rotateZ(30deg);*/
			/*
			rotate3d(x,y,z,a)
			x:是一个0到1之间的数值,主要用来描述元素围绕X轴旋转的矢量值;
			y:是一个0到1之间的数值,主要用来描述元素围绕Y轴旋转的矢量值;
			z:是一个0到1之间的数值,主要用来描述元素围绕Z轴旋转的矢量值;
			a:是一个角度值,主要用来指定元素在3D空间旋转的角度,如果其值为正值,元素顺时针旋转,反之元素逆时针旋转。
			*/
			/*transform: rotate3d(.5,.5,.5,90deg);*/

			/*transform: scaleX(2);*/
			/*transform: scaleY(2);*/
			/*scaleZ()函数单独使用时没有任何效果,需要配合其他的变形函数一起使用才会有效果。*/
			/*transform: scaleZ(5) rotateX(45deg);*/

			/*transform: scale3d(2,2,2) rotateX(45deg);*/


			/*倾斜是二维变形,不能在三维空间变形。元素可能会在X轴和Y轴倾斜,然后转化为三维,但它们不能在Z轴倾斜。*/
			/*transform: skewX(45deg);*/
			/*transform: skewY(45deg);*/
			transform: rotateX(90deg) translateZ(100px);

		}
	</style>
</head>
<body>
	<div class="box">
		<div class="area">国</div>
	</div>
</body>
</html>

效果

沿着X轴旋转后,坐标轴也跟着旋转了(y轴和z轴),z轴的方向也旋转了90度,变为原来y轴的方向了

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值