CSS3------2D转换(transform属性)

1.2D转换对元素进行移动缩放转动拉长拉伸等操作
2.2D转换的方法有:

函数描述
matrix(n,n,n,n,n,n)定义 2D 转换,使用六个值的矩阵
translate(x,y)定义 2D 转换,沿着 X 和 Y 轴移动元素
translateX(n)定义 2D 转换,沿着 X 轴移动元素
translateY(n)定义 2D 转换,沿着 Y 轴移动元素
scale(x,y)定义 2D 缩放转换,改变元素的宽度和高度
scaleX(n)定义 2D 缩放转换,改变元素的宽度
scaleY(n)定义 2D 缩放转换,改变元素的高度
rotate(angle)定义 2D 旋转,在参数中规定角度
skew(x-angle,y-angle)定义 2D 倾斜转换,沿着 X 和 Y 轴
skewX(angle)定义 2D 倾斜转换,沿着 X 轴
skewY(angle))定义 2D 倾斜转换,沿着 Y 轴

3.介绍常见的几种方法:
(1).rotate()方法
通过rotate()方法,元素顺时针旋转给定的角度。允许负值,元素将逆时针旋转。
eg:鼠标以上会旋转的案例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			div {
				width: 100px;
				height: 100px;
				background-color: magenta;
				border: 1px solid black;
				margin-top: 100px;
				margin-left: 100px;
			}

			div:hover {
				width: 100px;
				height: 100px;
				background-color: pink;
				border: 1px solid black;
				transform: rotate(30deg);
				-ms-transform: rotate(30deg);
				/* IE 9 */
				-moz-transform: rotate(30deg);
				/* Firefox */
				-webkit-transform: rotate(30deg);
				/* Safari and Chrome */
				-o-transform: rotate(30deg);
				/* Opera */
			}
		</style>
	</head>
	<body>
		<div>鼠标放上会旋转</div>
	</body>
</html>

效果如下图:
在这里插入图片描述
注意:rotate()括号里写角度,单位是deg。rotate(30deg) 表示顺时针旋转30度。rotate(-30deg)表示逆时针旋转30度

(2).translate()方法,通过translate(X,Y)方法,元素从其当前位置移动,根据给定的X坐标和Y坐标
eg:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			.box,.box2 {
				width: 100px;
				height: 75px;
				background-color: magenta;
				border: 1px solid black;
				
				
				
			}
		.box2{
			transform:translate(50px,100px);
			-ms-transform:translate(50px,100px); /* IE 9 */
			-moz-transform:translate(50px,100px); /* Firefox */
			-webkit-transform:translate(50px,100px); /* Safari and Chrome */
			-o-transform:translate(50px,100px); /* Opera */
		}
		</style>
	</head>
	<body>
				<div class="box">鼠标放上会旋转</div>
				<div class="box2">鼠标放上会旋转</div>
	</body>
</html>

效果如下图:
在这里插入图片描述
注意:
值translate(50px, 100px)把元素从左侧移动50像素,从顶端移动100像素。
(3).scale()方法
通过scale()方法,元素的尺寸会增加或减少,根据给定的宽度(x轴)和高度(y轴)参数。
eg:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style> 
		div
		{
		width:100px;
		height:75px;
		background-color:yellow;
		border:1px solid black;
		}
		div#div2
		{
		margin:100px;
		transform:scale(2,4); 
		-ms-transform:scale(2,4); /* IE 9 */
		-moz-transform:scale(2,4); /* Firefox */
		-webkit-transform:scale(2,4); /* Safari and Chrome */
		-o-transform:scale(2,4); /* Opera */
		}

		</style>
		
	</head>
	<body>
		<div>1</div>
		<div id="div2">2</div>

	</body>
</html>

效果如下图:
在这里插入图片描述
注意:值scale(2, 4)把宽度转换为原始尺寸的2倍,把高度转换为原始高度的4倍。值scale(2)把长宽都放大2倍,值scalex(5)只把长变为5倍

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

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style> 
		div
		{
		width:100px;
		height:75px;
		background-color:yellow;
		border:1px solid black;
		}
		
		div#div2
		{
		transform:skew(30deg,20deg);
		-ms-transform:skew(30deg,20deg); /* IE 9 */
		-moz-transform:skew(30deg,20deg); /* Firefox */
		-webkit-transform:skew(30deg,20deg); /* Safari and Chrome */
		-o-transform:skew(30deg,20deg); /* Opera */
		}
		
		
		</style>
		
	</head>
	<body>
		<div>1</div>
		<div id="div2">2</div>

	</body>
</html>

在这里插入图片描述
注意:值skew(30deg, 20deg)围绕x轴把元素翻转30度,围绕y轴翻转20度。

(5).matrix()方法
matrix()方法把所有的2D转换方法组合在一起。
matrix() 方法需要六个参数,包含数学函数,允许我们:旋转、缩放、移动以及倾斜元素。

eg:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style> 
		div
		{
		width:100px;
		height:75px;
		background-color:yellow;
		border:1px solid black;
		}
		
		
		div#div2
		{
		transform:matrix(0.866,0.5,-0.5,0.866,0,0);
		-ms-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* IE 9 */
		-moz-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* Firefox */
		-webkit-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* Safari and Chrome */
		-o-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* Opera */
		}
		
		
		
		</style>
		
	</head>
	<body>
		<div>1</div>
		<div id="div2">2</div>

	</body>
</html>

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: -webkit-transform 是一个 CSS 属性,用于为元素应用 2D 或 3D 转换。它是 Webkit 内核浏览器(例如 Chrome 和 Safari)的私有属性,但由于其流行,现在已经成为了一个标准属性。 以下是一个示例,将一个元素旋转 45 度: ```css div { -webkit-transform: rotate(45deg); transform: rotate(45deg); /* 标准语法 */ } ``` 该代码应用了一个旋转变换,使 `<div>` 元素绕其心点顺时针旋转 45 度。`-webkit-transform` 属性是 Webkit 浏览器的私有属性,而 `transform` 属性是标准属性,用于所有支持转换的浏览器。注意,如果您要同时使用 Webkit 和标准语法,必须将 Webkit 语法放在标准语法之前。 ### 回答2: -webkit-transform 是一个CSS样式属性,用于对元素进行2D或3D变换。它是为WebKit浏览器引擎设计的,例如Safari和Chrome等浏览器。 以下是一个使用 -webkit-transform 属性的示例: 假设有一个带有 class 为 box 的元素: ```html <div class="box"></div> ``` 为这个元素添加CSS样式,使其在点击时进行旋转变换: ```css .box { width: 100px; height: 100px; background-color: red; transition: -webkit-transform 1s; } .box:hover { -webkit-transform: rotate(45deg); } ``` 在上述示例,我们在.box的样式定义了一个过渡效果,即在1秒内改变 -webkit-transform 属性的值。在.box:hover,我们将 -webkit-transform 属性的值设置为 rotate(45deg),表示当鼠标悬停在元素上时,元素将以45度的角度旋转。 通过将 -webkit-transform 属性和过渡效果一同使用,我们可以实现动画效果,使元素在某个事件触发时进行平滑的变换。 需要注意的是,-webkit-transform 属性还可以用于更复杂的变换,如平移、缩放、扭曲等操作。同时,除了 -webkit-transform,还有其他前缀类似于 -moz-transform 和 -ms-transform,用于不同浏览器引擎的支持。 总之,-webkit-transform 是用于WebKit浏览器引擎的一个CSS样式属性,用于对元素进行2D或3D变换,可以通过改变属性值实现各种效果,提供了强大的设计和动画功能。 ### 回答3: -webkit-transform 是一个 CSS3 的样式属性,用于对元素进行旋转、缩放、移动和倾斜的变换。它是针对 WebKit 内核浏览器的私有前缀,包括谷歌浏览器(Chrome)、苹果浏览器(Safari)等。 下面是几个 -webkit-transform 的示例: 1. 旋转: 可以通过 -webkit-transform 属性来对元素进行旋转。例如,transform: rotate(45deg); 可以将元素顺时针旋转 45 度。 2. 缩放: -webkit-transform 也可以用来对元素进行缩放。例如,transform: scale(1.5); 可以将元素放大到原来大小的1.5倍。 3. 移动: 通过 -webkit-transform 属性,可以实现元素的平移。例如,transform: translate(50px, 100px); 可以将元素在水平方向上移动 50 像素,在垂直方向上移动 100 像素。 4. 倾斜: -webkit-transform 还可以对元素进行倾斜。例如,transform: skewX(45deg); 可以将元素在水平方向上倾斜 45 度。 需要注意的是,-webkit-transform 仅适用于 WebKit 内核浏览器,其他浏览器需要使用其他的私有前缀或者标准的 transform 属性来实现相同的效果。在使用 -webkit-transform 时,需要同时考虑浏览器的兼容性,尽量使用标准的 transform 属性来实现相同的效果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值