transform实现元素的移动、缩放、旋转、变形

transform实现元素的移动、缩放、旋转、变形

既然用到了transform就先说说这个属性吧!


一、transform属性简介

Transform属性应用于元素的2D或3D转换。这个属性允许你将元素旋转,缩放,移动,倾斜等。现在暂时先说说属性和2D的转换吧!3D学习的成本,需要设备的性能和浏览器支持来支撑!所以先介绍3D的效果。
用法:transform:translate(-50%,-50%)

描述
translate(x,y)定义 2D 移动。x为左右移动,y为上下移动!可以为负值,单位px,百分比,em等
scale(x,y)定义 2D 缩放。x为宽度的缩放,y为高度的缩放!值为数值,0-n倍,小于1是缩小
rotate(angle)定义 2D 旋转,在参数中规定角度。0-360度,单位deg
skew(x-angle,y-angle)定义沿着 X 和 Y 轴的 2D 倾斜转换。简单点相当于PhotoShop里面的斜放属性,基本很少用到







二丶介绍下他们的使用情况吧

首先,先写个字体出来吧!就一我上一篇介绍的火焰字好了!上篇的代码对这篇的代码不会有干扰的

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>小效果</title>

	<style type="text/css">
		/*通配符重置浏览器默认的两个值,
		对本文没有太大影响,不知道可以无视*/
		*{
			margin: 0;
			padding: 0;
		}
		.div1{
			width: 300px;
			height: 100px;
			padding-top: 20px;
			line-height: 100px;
			margin:200px auto 0;
			text-align: center;
			font-size: 40px;
			font-weight: bold;
			font-family: "华文行楷";
			background: #000;
			color:#F60;
			text-shadow: 0px 0px 2px #fff,
					0px -3px 3px #1EB,
					0px -6px 4px #01DEFD,
					0px -9px 5px #0BF,
					0px -12px 6px #08F;
		}
	</style>
</head>
<body>
	<div class="div1">超炫火焰字</div>
</body>
</html>


效果如图:


1.translate值的作用

我们在text-shadow后面添加一个transform属性先是移动吧!
transform:translate(20%,0);


我们就会发现这个div被右移动了20%
这个20%是对于这个div来说的;也就是说移动的这个div的百分之20%,60px的距离
在这里我提一句就是绝对定位的问题,当元素添加如下属性时
position: absolute;top: 50%;transform: translate(0,-50%);


那么这个元素就会相对于祖先有设有position属性的垂直居中定位了,如果先辈没有设有position属性就会相对屏幕垂直居中了
对于translate这个值的负值玩法,上下移动就由你们去尝试咯

2.scale值的作用

我们在将translate改为scale吧!代码如下
transform:scale(1.2,0);


我们就会发现这个div被拉伸了1.2
这个1.2是对于这个div来说的;也就是说的这个div的宽度被拉长了,宽度变为了原来的1.2倍
这个scale常常被用到购物商城的鼠标移进时图片被放大的效果里,并且不会对原来的布局产生任何变化和影响
对于scale这个值的负值玩法,拉伸成啥样子就由你们去尝试咯

3.rotate值的作用

我们在将scale改为rotate吧!代码如下
transform:rotate(45deg);


我们就会发现这个div被旋转了45度
旋转的原点为div盒子的中心点,设置了45deg就旋转了45deg
对于rotate这个值的负值玩法,其实360deg就旋转了一圈,相当于回到了原位即相当于0deg了,负值就是向左方向旋转了

4.skew值的作用

这个值的是扭曲,斜视某个对象而已,很少用到,就不做介绍了








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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值