CSS 3D转换——transform 属性的 rotatex() 方法和 rotatey() 方法

目录

CSS 3D转换

浏览器支持

转换属性

3D Transform方法

常用方法

rotatex() 方法

rotatey() 方法

结语


CSS 3D转换

CSS3 允许我们使用 3D 转换来对元素进行格式化。

 

浏览器支持

表格中的数字表示支持该属性的第一个浏览器版本号。

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

属性ChromeIEFirefoxSafariOpera
transform36.0
12.0 -webkit-
10.016.0
10.0 -moz-
4.0 -webkit-23.0
15.0 -webkit-
transform-origin
(three-value syntax)
36.0
12.0 -webkit-
10.016.0
10.0 -moz-
4.0 -webkit-23.0
15.0 -webkit-
transform-style36.0
12.0 -webkit-
11.016.0
10.0 -moz-
4.0 -webkit-23.0
15.0 -webkit-
perspective36.0
12.0 -webkit-
10.016.0
10.0 -moz-
4.0 -webkit-23.0
15.0 -webkit-
perspective-origin36.0
12.0 -webkit-
10.016.0
10.0 -moz-
4.0 -webkit-23.0
15.0 -webkit-
backface-visibility36.0
12.0 -webkit-
10.016.0
10.0 -moz-
4.0 -webkit-23.0
15.0 -webkit-

 

 

转换属性

属性描述CSS
transform向元素应用 2D 或 3D 转换。3
transform-origin允许你改变被转换元素的位置。3
transform-style规定被嵌套元素如何在 3D 空间中显示。3
perspective规定 3D 元素的透视效果。3
perspective-origin规定 3D 元素的底部位置。3
backface-visibility定义元素在不面对屏幕时是否可见。3

 

3D Transform方法

函数描述
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 转换元素的透视视图。

 

常用方法

 

rotatex() 方法

通过 rotatex() 方法,元素围绕其 X 轴以给定的度数进行旋转。

<!DOCTYPE html>
<html>
<head>
<style> 
div
{
width:100px;
height:75px;
background-color:yellow;
border:1px solid black;
}
div#div2
{
transform:rotateX(120deg);
-webkit-transform:rotateX(120deg); /* Safari and Chrome */
-moz-transform:rotateX(120deg); /* Firefox */
}
</style>
</head>
<body>

<div>你好。这是一个 div 元素。</div>

<div id="div2">你好。这是一个 div 元素。</div>

<p><b>注释:</b> Internet Explorer 和 Opera 不支持 rotateX 方法。</p>

</body>
</html>

 

rotatey() 方法

通过 rotatey() 方法,元素围绕其 Y 轴以给定的度数进行旋转。

<!DOCTYPE html>
<html>
<head>
<style> 
div
{
width:100px;
height:75px;
background-color:yellow;
border:1px solid black;
}
div#div2
{
transform:rotateY(130deg);
-webkit-transform:rotateY(130deg); /* Safari and Chrome */
-moz-transform:rotateY(130deg); /* Firefox */
}
</style>
</head>
<body>

<div>你好。这是一个 div 元素。</div>

<div id="div2">你好。这是一个 div 元素。</div>

<p><b>注释:</b> Internet Explorer 和 Opera 不支持 rotateX 方法。</p>

</body>
</html>

结语

时至今日,我自己都不知道这写的啥玩意。特意再搜了下,觉得 https://www.zhangxinxu.com/wordpress/2012/09/css3-3d-transform-perspective-animate-transition/ 这篇写比较有诚意,大家可以看下。

 

  • 11
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSS 3D 中的 transform 属性用于定义元素的变换方式,包括平移、旋转、缩放、斜切等。 transform 属性有多个取值,其中常见的包括: 1. translate:用于定义元素的平移变换,可以设置 X 轴、Y 轴和 Z 轴的平移距离。 2. rotate:用于定义元素的旋转变换,可以设置 X 轴、Y 轴和 Z 轴的旋转角度。 3. scale:用于定义元素的缩放变换,可以设置 X 轴、Y 轴和 Z 轴的缩放比例。 4. skew:用于定义元素的斜切变换,可以设置 X 轴和 Y 轴的倾斜角度。 下面是一个例子,展示了如何使用 transform 属性实现一个立方体的效果: ```css .cube { width: 200px; height: 200px; position: relative; transform-style: preserve-3d; } .cube .face { position: absolute; width: 200px; height: 200px; opacity: 0.8; } .cube .front { transform: translateZ(100px); background-color: #f00; } .cube .back { transform: rotateY(180deg) translateZ(100px); background-color: #0f0; } .cube .top { transform: rotateX(-90deg) translateZ(100px); background-color: #00f; } .cube .bottom { transform: rotateX(90deg) translateZ(100px); background-color: #ff0; } .cube .left { transform: rotateY(-90deg) translateZ(100px); background-color: #f0f; } .cube .right { transform: rotateY(90deg) translateZ(100px); background-color: #0ff; } ``` 在这个例子中,我们定义了一个立方体容器 .cube,同时给它的每个面 .face 加上了不同的背景颜色。通过设置每个面的 transform 属性,我们让立方体相对于自身进行了平移、旋转和缩放等变换,从而实现了 3D 的效果。注意,我们还设置了 transform-style 属性为 preserve-3d,以保证子元素也可以继承父元素的 3D 特性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值