CSS3 3D 转换

24 篇文章 0 订阅
23 篇文章 0 订阅

今天跟大家说一下CSS3 3D 转换吧
一起来学习下吧
小常说一下:
有时候,生活不免走向低谷,才能迎接你的下一个高点
3D 转换
CSS3 允许您使用 3D 转换来对元素进行格式化。

在这之中,大家跟小常将学到其中的一些 3D 转换方法:

rotateX()
rotateY()
点击下面的元素,来查看 2D 转换与 3D 转换之间的不同之处:

在这里插入图片描述
浏览器支持
表格中的数字表示支持该属性的第一个浏览器版本号。

紧跟在 -webkit-, -ms- 或 -moz- 前的数字为支持该前缀属性的第一个浏览器版本号。

属性
transform 36.0
12.0 -webkit- 10.0 16.0
10.0 -moz- 4.0 -webkit- 23.0
15.0 -webkit-
transform-origin
(three-value syntax) 36.0
12.0 -webkit- 10.0 16.0
10.0 -moz- 4.0 -webkit- 23.0
15.0 -webkit-
transform-style 36.0
12.0 -webkit- 11.0 16.0
10.0 -moz- 4.0 -webkit- 23.0
15.0 -webkit-
perspective 36.0
12.0 -webkit- 10.0 16.0
10.0 -moz- 4.0 -webkit- 23.0
15.0 -webkit-
perspective-origin 36.0
12.0 -webkit- 10.0 16.0
10.0 -moz- 4.0 -webkit- 23.0
15.0 -webkit-
backface-visibility 36.0
12.0 -webkit- 10.0 16.0
10.0 -moz- 4.0 -webkit- 23.0
15.0 -webkit-
rotateX() 方法
在这里插入图片描述
rotateX()方法,围绕其在一个给定度数X轴旋转的元素。
实例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>标题</title> 
<style> 
div
{
	width:100px;
	height:75px;
	background-color:red;
	border:1px solid black;
}
div#div2
{
	transform:rotateX(120deg);
	-webkit-transform:rotateX(120deg); /* Safari and Chrome */
}
</style>
</head>
<body>

<p><b>注意:</b> Internet Explorer 9 (以及更早版本的浏览器) 和 Opera 不支持 rotateX 方法.</p>

<div>Hello. This is a DIV element.</div>

<div id="div2">Hello. This is a DIV element.</div>

</body>
</html>

运行结果
在这里插入图片描述
rotateY() 方法
Rotate Y
rotateY()方法,围绕其在一个给定度数Y轴旋转的元素。

OperaSafariChromeFirefoxInternet Explorer
实例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>标题</title> 
<style> 
div
{
	width:100px;
	height:75px;
	background-color:red;
	border:1px solid black;
}
div#div2
{
	transform:rotateY(130deg);
	-webkit-transform:rotateY(130deg); /* Safari and Chrome */
}
</style>
</head>
<body>

<p><b>注意:</b> Internet Explorer 9 (以及更早版本的浏览器) 和 Opera 不支持 rotateY方法.</p>

<div>Hello. This is a DIV element.</div>

<div id="div2">Hello. This is a DIV element.</div>

</body>
</html>

运行结果
在这里插入图片描述
转换属性
下表列出了所有的转换属性:

属性 描述 CSS
transform 向元素应用 2D 或 3D 转换。 3
transform-origin 允许你改变被转换元素的位置。 3
transform-style 规定被嵌套元素如何在 3D 空间中显示。 3
perspective 规定 3D 元素的透视效果。 3
perspective-origin 规定 3D 元素的底部位置。 3
backface-visibility 定义元素在不面对屏幕时是否可见。 3
3D 转换方法
函数 描述
matrix3d(n,n,n,n,n,n,
n,n,n,n,n,n,n,n,n,n) 定义 3D 转换,使用 16 个值的 4x4 矩阵。
translate3d(x,y,z) 定义 3D 转化。
translateX(x) 定义 3D 转化,仅使用用于 X 轴的值。
translateY(y) 定义 3D 转化,仅使用用于 Y 轴的值。
translateZ(z) 定义 3D 转化,仅使用用于 Z 轴的值。
scale3d(x,y,z) 定义 3D 缩放转换。
scaleX(x) 定义 3D 缩放转换,通过给定一个 X 轴的值。
scaleY(y) 定义 3D 缩放转换,通过给定一个 Y 轴的值。
scaleZ(z) 定义 3D 缩放转换,通过给定一个 Z 轴的值。
rotate3d(x,y,z,angle) 定义 3D 旋转。
rotateX(angle) 定义沿 X 轴的 3D 旋转。
rotateY(angle) 定义沿 Y 轴的 3D 旋转。
rotateZ(angle) 定义沿 Z 轴的 3D 旋转。
perspective(n) 定义 3D 转换元素的透视视图。
transform:3D变形:
transform:3D变形可以近似理解为沿着Z轴移动元素,使得元素更加靠近或者远离你,从而使元素看起来变得更大或更小。

transform:3D变形函数
translate3d(x,y,z) 定义 3D 转换。
translateY(y) 定义转换,只是用 Y 轴的值。
translateX(x) 定义转换,只是用 X 轴的值。
translateZ(z) 定义 3D 转换,只是用 Z 轴的值。

rotate3d(x,y,z,angle) 定义 3D 旋转。
rotateX(angle) 定义沿着 X 轴的 3D 旋转。
rotateY(angle) 定义沿着 Y 轴的 3D 旋转。
rotateZ(angle) 定义沿着 Z 轴的 3D 旋转。

scale3d(x,y,z) 定义 3D 缩放转换。
scaleZ(z) 通过设置 Z 轴的值来定义 3D 缩放转换。
scaleX(x) 通过设置 X 轴的值来定义缩放转换。
scaleY(y) 通过设置 Y 轴的值来定义缩放转换。

matrix3d(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n) 定义 3D 转换,使用 16 个值的 4x4 矩阵。

transform-origin 允许你改变被转换元素的位置。2D 转换元素能够改变元素 x 和 y 轴。3D 转换元素还能改变其 Z 轴。

perspective(n) 为 3D 转换元素定义透视视图。

transform-style 规定被嵌套元素如何在 3D 空间中显示。
flat 子元素将不保留其 3D 位置。
preserve-3d 子元素将保留其 3D 位置。

自然卷
css3动画效果
transform:2D变形:
通过 CSS3 转换,我们能够对元素进行移动、缩放、转动、拉长或拉伸。转换方法:translate()/rotate()/scale()/skew()/matrix()

none 定义不进行转换。
translate(x,y) 定义 2D 平移转换。
translateX(x) 定义转换,只是用 X 轴的值。
translateY(y) 定义转换,只是用 Y 轴的值。

scale(x,y) 定义 2D 缩放转换。
scaleX(x) 通过设置 X 轴的值来定义缩放转换。
scaleY(y) 通过设置 Y 轴的值来定义缩放转换。

rotate(angle) 定义 2D 旋转,在参数中规定角度。
补充1.角度也可以使用弧度单位:rad

skew(x-angle,y-angle) 定义沿着 X 和 Y 轴的 2D 倾斜转换。
kewX(angle) 定义沿着 X 轴的 2D 倾斜转换。
skewY(angle) 定义沿着 Y 轴的 2D 倾斜转换。

matrix(n,n,n,n,n,n) 定义 2D 转换,使用六个值的矩阵。
变形矩阵功能很强大,但是相对比较复杂,涉及到复杂的数学计算,在本章中暂不作详细讲解。

transform-origin:改变元素变形的基准点
像素/百分比
X轴:left/right/center
Y轴:top/bottom/center/

transform:3D变形:
transform:3D变形可以近似理解为沿着Z轴移动元素,使得元素更加靠近或者远离你,从而使元素看起来变得更大或更小。

transform:3D变形函数
translate3d(x,y,z) 定义 3D 转换。
translateY(y) 定义转换,只是用 Y 轴的值。
translateX(x) 定义转换,只是用 X 轴的值。
translateZ(z) 定义 3D 转换,只是用 Z 轴的值。

rotate3d(x,y,z,angle) 定义 3D 旋转。
rotateX(angle) 定义沿着 X 轴的 3D 旋转。
rotateY(angle) 定义沿着 Y 轴的 3D 旋转。
rotateZ(angle) 定义沿着 Z 轴的 3D 旋转。

scale3d(x,y,z) 定义 3D 缩放转换。
scaleZ(z) 通过设置 Z 轴的值来定义 3D 缩放转换。
scaleX(x) 通过设置 X 轴的值来定义缩放转换。
scaleY(y) 通过设置 Y 轴的值来定义缩放转换。

matrix3d(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n) 定义 3D 转换,使用 16 个值的 4x4 矩阵。

transform-origin 允许你改变被转换元素的位置。2D 转换元素能够改变元素 x 和 y 轴。3D 转换元素还能改变其 Z 轴。

perspective(n) 为 3D 转换元素定义透视视图。

transform-style 规定被嵌套元素如何在 3D 空间中显示。
flat 子元素将不保留其 3D 位置。
preserve-3d 子元素将保留其 3D 位置。

perspective-origin 规定 3D 元素的底部位置。目前浏览器都不支持 perspective-origin 属性,
backface-visibility 定义元素在不面对屏幕时是否可见
小常说一下:
鹰,不需鼓掌,也在飞翔。小草,没人心疼,也在成长。做事不需人人都理解,只需尽心尽力。坚持,注定有孤独彷徨,质疑嘲笑,也都无妨。就算遍体鳞伤,也要撑起坚强,其实一世并不长,既然来了,就要活得漂亮!加油!大家!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值