你了解Transform吗,它有哪些属性

715 阅读1分钟

「这是我参与11月更文挑战的第24天,活动详情查看:2021最后一次更文挑战

transform的本意就是变换、使...变形的意思,在CSS3transform属性其实就是用于设置元素某些属性的变换,比如放大缩小、平移、旋转等等。

  1. transform:none 表示无变换 关于2d变换的方法:
  2. transform:translate() 表示平移 可以传递两个参数,也可以传递一个参数 传递两个参数,第一个参数表示水平平移,第二个表示垂直方向平移量,可以为负值。 传递一个参数时表示:水平方向平移量,垂直方向不偏移即为0
<head>
	<style>
		body{
			background-color: #eee;
		}
		section{			
			width: 650px;
			height: 550px;			
			display: flex;
			justify-content: space-around;
			flex-wrap: wrap;
		}
		.wrapper {
			width: 250px;
			height: 100px;
			background-color: #bbb;						
			transition: all 2s;
			border: 1px solid deeppink;
		}
		.wrapper div{
			width: 250px;
			height: 100px;
			text-align:center;
			line-height: 100px;
			font-size: .8em;
			font-weight: bold;
			background-color: pink;				
		}
		.wrapper:nth-of-type(1) div{
			transform:translate(50px,50px)
		}
		.wrapper:nth-of-type(2) div{
			transform:translate(50px)
		}
		.wrapper:nth-of-type(3) div{
			transform:translate(50%,50%)
		}
		.wrapper:nth-of-type(4) div{
			transform:translate(50%)
		}
		.wrapper:nth-of-type(5) div{
			transform:translate(-10px,-10px)
		}
		.wrapper:nth-of-type(6) div{
			transform:translate(-10px)
		}
	</style>
</head>
<body>
	<section>
		<div class="wrapper">
			<div>transform:translate(50px,50px)</div>
		</div>
		<div class="wrapper">
			<div>transform:translate(50px)</div>
		</div>
		<div class="wrapper">
			<div>transform:translate(50%,50%)</div>
		</div>
		<div class="wrapper">
			<div>transform:translate(50%)</div>
		</div>
		<div class="wrapper">
			<div>transform:translate(-10px -10px)</div>
		</div>
		<div class="wrapper">
			<div>transform:translate(-10px)</div>
		</div>
	</section>
</body>
  1. transform:translateX()表示单独平移水平方向
  2. transform:translateY()表示单独平移垂直方向
.wrapper:nth-of-type(1) div{
	transform:translateX(50px)
}
.wrapper:nth-of-type(2) div{
	transform:translateY(50px)
}
  1. transform:rotate() 表示旋转度数 可以是负值
		.wrapper:nth-of-type(1) div{
			transform:rotate(30deg)
		}
		.wrapper:nth-of-type(2) div{
			transform:rotate(90deg)
		}
		.wrapper:nth-of-type(3) div{
			transform:rotate(-30deg)
		}
		.wrapper:nth-of-type(4) div{
			transform:rotate(-90deg)
		}
  1. transform:scale()表示缩放比例 可以传递两个参数,也可以传递一个参数 两个参数时分别表示水平方向的缩放比例、垂直方向缩放比例 如果只传递了一个参数,第二个参数等比缩放 当设置两个值一样时,相当于设置一个值
<head>
	<style>
		body{
			background-color: #eee;
		}
		section{		
			margin-top: 100px;	
			width: 650px;
			height: 400px;			
			display: flex;
			justify-content: space-around;
			flex-wrap: wrap;
		}
		.wrapper {
			width: 250px;
			height: 100px;
			background-color: #bbb;						
			transition: all 2s;
			border: 1px solid deeppink;
		}
		.wrapper div{
			width: 250px;
			height: 100px;
			text-align:center;
			line-height: 100px;
			font-size: .8em;
			font-weight: bold;
			background-color: pink;				
		}
		.wrapper:nth-of-type(1) div{
			transform:scale(.8,.8)
		}
		.wrapper:nth-of-type(2) div{
			transform:scale(.8)
		}
		.wrapper:nth-of-type(3) div{
			transform:scale(1.2,1.2)
		}
		.wrapper:nth-of-type(4) div{
			transform:scale(1.2)
		}
	</style>
</head>
<body>
	<section>
		<div class="wrapper">
			<div>transform:scale(.8,.8)</div>
		</div>
		<div class="wrapper">
			<div>transform:scale(.8)</div>
		</div>
		<div class="wrapper">
			<div>transform:scale(1.2,1.2)</div>
		</div>
		<div class="wrapper">
			<div>transform:scale(1.2)</div>
		</div>
	</section>
</body>