CSS3 3D移动(translate3d)、透视(perspective)、3D旋转(rotate3d)、3D呈现(transform-style)

23 篇文章 1 订阅

3D移动translate3d

  • transform: translateX(100px):仅仅是在X轴上移动
  • transform: translateY(100px):仅仅是在Y轴上移动
  • transform: translateZ(100px):仅仅是在Z轴上移动(注意:translateZ一般都是用px单位)
  • transform: translateX(100px) translateY(100px):沿着X轴和Y轴同时移动
  • transform: translate3d(x,y,z):在x,y,z轴上都移动

透视perspective

透视perspective的语法格式如下:
方法1:perspective: 800px;
方法2:transform: prespective(800px);

注意:
1、方法1定义的perspective只在初次渲染时,投影在屏幕上;
2、方法2定义的perspective会根据transform动画的变化来进行重新的渲染;
3、当使用js或Css3进行动画时,尽量选择方法2
  • 如果想要在网页上产生3D效果,就需要使用透视
  • 透视的单位是像素
  • 透视也称为视距,表示人的眼睛到屏幕的距离。对同一个位置的物体,视距越大,成像越小
  • 透视要写在被观察元素的父盒子上面(可以是祖先元素)
  • 下图就是一个透视的说明图,其中
  1. d:就是视距,即人的眼睛到屏幕的距离
  2. z:就是z轴,即物体到屏幕的距离,z轴越大(正值),成像也就越大;负值则相反

3D旋转rotate3d

  • transform: rotateX(45deg):沿着x轴正方向旋转45度

    其中,旋转角度为正时,图片上边框向里旋转;旋转角度为负时,图片上边框向外旋转。(可以借助左手准则来记忆,手指的弯曲方向就是旋转角度为正时的旋转方向)

  • transform: rotateY(45deg):沿着y轴正方向旋转45deg

    其中,旋转角度为正时,图片上边框向里旋转;旋转角度为负时,图片上边框向外旋转。(可以借助左手准则来记忆,手指的弯曲方向就是旋转角度为正时的旋转方向)

  • transform: rotateZ(45deg):沿着z轴正方向旋转45deg,跟2D旋转几乎一样,都是在平面内旋转

  • transform: rotate3d(x,y,z,deg):沿着自定义轴旋转deg

    其中,xyz表示旋转轴的矢量;deg表示旋转的角度。举例说明如下:

transform: rotate3d(1,0,0,45deg)		——表示沿着x轴旋转45度
transform: rotate3d(1,1,0,45deg)		——表示沿着对角线旋转45度

3D呈现transform-style

  • transform-style属性是控制子元素是否开启三维立体环境
  • transform-style: flat 子元素不开启3d立体空间,默认值
  • transform-style: preserve-3d 子元素开启3d立体空间
  • 该属性是写给父级元素的,但影响的是子元素

微信公众号也会定期更新,觉得文章写得还可以的,可以加个关注!点个赞!谢谢!
在这里插入图片描述

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: transform-style: preserve-3d; 是一个CSS3属性,用于定义一个元素的子元素是如何在三维空间中呈现的。 当应用于一个元素时,它指示该元素的子元素应该在三维空间中进行变换,而不是在二维平面中变换。这意味着子元素可以在三维空间中进行旋转、缩放和移动,而不受到其父元素的影响。 例如,如果一个元素有许多子元素,当应用 transform-style: preserve-3d; 后,这些子元素将会在三维空间中摆放,这样它们可以以更自由的方式进行旋转和变形,而不会受到其父元素的影响。 需要注意的是,使用 transform-style: preserve-3d; 属性时,父元素必须具有透视属性(perspective),否则子元素将无法正确呈现在三维空间中。 ### 回答2: transform-style: preserve-3d; 是一个CSS属性,用于控制3D变换元素内容的呈现方式。 当使用3D变换属性(如rotateX、rotateY等)来转换一个元素时,该元素的子元素也会被影响,它们可能会在3D空间中随着父元素的变换发生改变。但是,默认情况下,子元素的变换发生在二维平面上,即使父元素发生了3D变换。 使用transform-style: preserve-3d; 可以改变子元素的变换方式,使其也在3D空间中进行变换。这意味着子元素可以跟随父元素的旋转和变换,并在3D空间中自由移动。 此属性对于制作3D效果的网页或动画非常有用。例如,在一个3D立方体中,可以通过设置父元素的transform-style为preserve-3d,使得立方体内的内容也在3D空间中进行变换,从而创造出更加生动逼真的效果。 需要注意的是,transform-style: preserve-3d; 只会应用在直接子元素上,对于孙元素或更深层次的元素,需要单独设置transform-style属性。 总之,通过使用transform-style: preserve-3d; 属性,可以在3D变换中更好地控制元素的呈现方式,增强网页或动画的视觉效果。 ### 回答3: transform-style: preserve-3d; 是CSS属性,用于定义一个元素的子元素应如何在3D空间中呈现。 当我们在 CSS 中使用 3D 转换时,通常会在某个容器元素上使用 transform-style: preserve-3d; 属性。这样可以确保容器元素的子元素能够保持其在3D空间中的位置和变换效果。 这个属性的默认值是 flat,即子元素在容器元素的平面内进行变换。而当我们将属性值设置为 preserve-3d 时,容器元素的子元素将以3D空间的形式进行变换,使得子元素可以具有在3D空间中移动旋转和缩放的效果。 这个属性在进行复杂的3D转换时非常有用。通过将容器元素的子元素设置为 preserve-3d,我们可以在子元素上应用各种3D转换,例如 translate3Drotate3D 和 scale3D 等。这样能够更加精确地控制子元素在3D空间中的位置和变换效果。 总之,transform-style: preserve-3d; 是一个非常有用的CSS属性,当我们需要在页面中创建3D效果时,可以使用它来确保容器元素的子元素能够正确地在3D空间中进行变换。通过合理运用这个属性,我们可以创造出令人惊叹的3D动画和效果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值