浅谈CSS3新特性——transform: rotate(旋转) | scale(缩放) | translate(移动) | skew(倾斜)

1、CSS3 transform属性

应用于2D或3D转换,允许对元素进行倾斜、移动、缩放或旋转。

2D转换元素能够改变元素 x 和 y 轴,3D转换元素还能改变其 Z 轴。

属性:

translate(x,y)
定义2D移动
translate3d(x,y,z) 
定义3D移动
translateX(x)
定义x轴的移动
translateY(x)
定义y轴的移动
translateZ(x)
定义z轴的3D移动
scale(x,y) 
定义2D缩放
scale3d(x,y,z) 
定义3D缩放
scaleX(x)
通过设置x轴的值定义缩放
scaleY(x)
通过设置y轴的值定义缩放
scaleZ(x)
通过设置z轴的值定义3D缩放
rotate(angle)
定义2D旋转
rotate3d(x,y,z,angle)
定义3D旋转
rotateX(angle)
定义沿着x轴的3D旋转
rotateY(angle)
定义沿着y轴的3D旋转
rotateZ(angle)
定义沿着z轴的3D旋转
skew(x-angle,y-angle) 
定义沿着x和y轴的2D倾斜
skewX(angle)
定义沿着x轴的2D倾斜
skewY(angle)
定义沿着y轴的2D倾斜
none定义不进行转换


2、CSS3 transform-origin属性

元素转换的中心点默认为元素中心点的位置,使用transform-origin属性可以改变转换中心点的位置。

2D转换元素能够改变转换中心点的 x 和 y 轴位置,3D转换元素还能改变转换中心点的Z 轴位置。

必须与transform属性一同使用。

语法:transform-origin : x-axis y-axis z-axis

默认:transform-origin : 50% 50% 0

x-axis和y-axis可能的值:left | center | right | 数值(px) | 百分比(%)

z-axis可能的值:数值(px) 


eg:倾斜

<!DOCTYPE html>
<html>
	<head>
		<title></title>
		<style>
			#square{
				background:blue;
				width:200px;
				height:200px;
				position:absolute;
				left:100px;
				top:100px;
				transform:skew(5deg, 5deg);
			}
		</style>
	</head>
	<body>
		<div id="square"></div>
	</body>
</html>

eg:移动

<!DOCTYPE html>
<html>
	<head>
		<title></title>
		<style>
			#square{
				background:blue;
				width:200px;
				height:200px;
				position:absolute;
				left:0;
				top:0;
				transform:translate(50px, 50px);
			}
		</style>
	</head>
	<body>
		<div id="square"></div>
	</body>
</html>


eg:缩放

<!DOCTYPE html>
<html>
	<head>
		<title></title>
		<style>
			#circle{
				background:blue;
				width:200px;
				height:200px;
				border-radius:50%;
				position:absolute;
				left:100px;
				top:100px;
				transform:scale(0.5, 2);
			}
		</style>
	</head>
	<body>
		<div id="circle"></div>
	</body>
</html>

eg:旋转

<!DOCTYPE html>
<html>
	<head>
		<title></title>
		<style>
			#circle{
				background:blue;
				width:200px;
				height:200px;
				border-radius:50%;
				position:absolute;
				left:100px;
				top:100px;
			}
			#track{
				width:300px;
				height:300px;
				border:1px solid grey;
				border-radius:50%;
				position:absolute;
				left:50px;
				top:50px;
			}
			#plane{
				width:60px;
				height:30px;
				background:grey;
				border-radius:10px;
				position:absolute;
				left:170px;
				top:35px;
				transform-origin:center 165px;
				transform:rotate(45deg);
			}
		</style>
	</head>
	<body>
		<div id="circle"></div>
		<div id="track"></div>
		<div id="plane"></div>
	</body>
</html>

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值