CSS3的3D变换

作者: zyfEve | 来源:发表于2016-12-15 14:54 被阅读73次

    CSS3 变换也叫 2D/3D转换,主要包括以下几种: 旋转 ( rotate ) 、 扭曲 ( skew ) 、 缩放 ( scale ) 和 移动 ( translate ) 以及 矩阵变形 ( matrix ) 。
    3D变换涉及到的四个属性:
    perspective 设置舞台元素(变换元素的父元素),理解为人到舞台的距离。
    transform-style (设置在父元素)控制子元素是在二维平面还是三维空间。
    transform-origin 作用在变换元素上,控制变换的基点(坐标原点)。
    backface-visibility 作用在变换元素上,指示变换元素旋转180度背面是否可见。

    透视perspective: number|none;
    perspective 属性是3D变换最重要的属性,定义 3D 元素距视图的距离,即设置查看者的位置,可理解为物体距你的距离,以像素计。该属性的存在与否决定了你看到的是2D还是3D,没有透视,为2D。
    perspective取值为none或不设置,就没有真3D空间。
    perspective取值越小,3D效果就越明显,也就是你的眼睛越靠近真3D。
    perspective的值无穷大,或值为0时与取值为none效果一样。
    perspective是针对父元素的,设置人眼与父元素间距离。

    透视基点 perspective-origin: x-axis y-axis;
    主要用来决定perspective属性的源点角度。它实际上设置了X轴和Y轴位置,在该位置观看者好像在观看该元素的子元素。

    x-axis:定义该视图在 x 轴上的位置。默认值:50%。
    可能的值:left、center、right、length、%
    y-axis:定义该视图在 y 轴上的位置。默认值:50%。
    可能的值:top、center、bottom、length%

    **呈现样式transform-style: flat | preserve-3d; **
    其中 flat 值为默认值,表示所有子元素在2D平面呈现。 preserve-3d 表示所有子元素在3D空间中呈现。
    preserve-3d ,它表示不执行平展操作,他的所有子元素位于3D空间中。
    transform-style 属性需要设置在父元素中。

    transform-origin:x,y;
    用来设置变换基点的属性
    transform-origin属性值可以是百分比、em、px等具体的值,也可以是top、right、bottom、left和center这样的关键词。默认值为50%,50%,0。

    backface-visibility:hidden|visible;
    hidden:背面不可见,元素在3D环境下渲染上下文,将根据3D变形矩阵来计算;
    visible:背面可见,元素不在3D环境下渲染上下文,将根据2D变形矩阵来计算。

    相关文章

      网友评论

        本文标题:CSS3的3D变换

        本文链接:https://www.haomeiwen.com/subject/zzrtjttx.html