深度z轴
在所有现代浏览器(IE10)中,3D变换均得到很好的支持,但是: >
例如,在水平平面上缩放并垂直转换:
>您可能使用翻译函数将元素水平移动沿x轴或垂直沿y轴移动:
给定三个元素,#box1,#box2和#box3,绝对位于同一位置,translatez(-200px)应用于#box2和translatez(-400px)应用于#box3。结果是相当令人鼓舞的:
默认情况下(始终在IE)中,变换风格设置为平坦。这表明元素的所有转化子女都位于元素本身的平面上。换句话说,内部元素可能会应用任何变换,但它们会被压壁到容器的平面中:
>
可以在:
变换原点
>三值语法:x,y和z起源。 z值只能是一个长度单元,例如PX或EM。
backface-visibily:hidden;通常用于剪卡动画,其中两个元素显示卡的正面和背面,但一次只能看到一个。 上面显示的示例不应用观点。无论距观众有多远,一个元素都会更深地移入Z平面。透视属性默认为没有,但可以将其设置为任何正长度。例如: 越小的视角长度,消失点越近,越明显的3D效果: 默认情况下,视角消失点是要转换的元素的中心。可以通过设置透视原蛋白:x y;,where:
在概念上,在三个维度上工作可能很困难,但是CSS转换是对象操作的更容易的途径。演示页面提供了一个交互式工具,该工具将帮助您了解属性和功能如何一起工作。
> > perspective()函数如何在CSS 3D变换中起作用? >如何控制CSS 3D转换中的后面可见性? CSS中的后面可见性属性控制元素的背面是否在不面对查看器时是否可见。该属性在元素旋转且后面变得可见的3D变换中特别有用。该属性采用两个值:“可见”,显示后面和“隐藏”。 CSS 3D转换中的转换 - 原始属性使您可以为转换指定原点。默认情况下,转换起源于元素的中心。但是,您可以使用Transform-Origin属性将其更改为元素中的任何点。该属性采用两个或三个值,代表x,y和可选为z轴。 >是否在所有浏览器中支持CSS 3D变换? >
在二维屏幕上,考虑到Z坐标为零的表面很有用。正面的Z值将对象向您移动(在屏幕前),而负Z值将对象移开(屏幕后面)。当添加透视图时,更遥远的z值会导致对象完全消失。
>以下各节描述了3D变换属性和功能。演示页面说明了大多数使用的方式。
任何元素都可以应用单个变换属性。可以为其分配一个或多个参数的函数。例如:<span><span>.element</span> {
</span> <span>transform: function1(parameter1, [...parameterN]);
</span><span>}
</span>
如果需要两个或多个转换,则可以定义任何数量的空间分隔函数:<span><span>.element</span> {
</span> <span>transform: function1(p1, [...pN]) function2(p1, [...pN]);
</span><span>}
</span>
>最后,变换:无;删除所有现有的变换。<span><span>.element</span> {
</span> <span>transform: scaleX(2) translateY(50px);
</span><span>}
</span>
可以使用任何长度单元。百分比参考转换元件的大小,因此施加了翻译(80%)的100px高块将其降低80像素。<span>transform: translateX(50px); /* 50px to right */
</span><span>transform: translateY(-100%); /* 100% up */
</span><span>transform: translate(50px, -100%); /* both together */
</span>
<span>transform: translateZ(-200px); /* 200px 'into' the screen */
</span>
但是,如果我们旋转整个外部#Scene容器,则Z轴变换变得更加明显:
<span><span>#scene</span> {
</span> <span>transform-style: preserve-3d;
</span> <span>transform: rotateX(-10deg) rotateY(-10deg);
</span><span>}
</span>
>变换风格的属性
<span>transform: translate3d(50px, 100%, 7em); /* x, y, z axis */
</span>
旋转功能
2D旋转()函数实际上将元素围绕z轴旋转,并且与rotatez()相同。例如:
可以使用旋转3D()函数设置三个旋转轴。有些令人困惑,它接受四个值,它们描述了一个向量:>
>
scale3d(x,y,z)函数可以在一个命令中的所有平面中应用比例。例如:<span><span>.element</span> {
</span> <span>transform: function1(parameter1, [...parameterN]);
</span><span>}
</span>
<span><span>.element</span> {
</span> <span>transform: function1(p1, [...pN]) function2(p1, [...pN]);
</span><span>}
</span>
默认情况下,将元素旋转并围绕其中心点缩放。可以通过设置最多三个空格分隔值的转换原始物质来修改这一点:>单值语法:x原点的长度或百分比。也可以使用一个左,中心,右上,顶部或底部关键字,而在顶部和底部设置Y来源的中心x origent。
两值语法:x和y起源。可以使用长度,百分比或关键字。
>
透视
<span><span>.element</span> {
</span> <span>transform: function1(parameter1, [...parameterN]);
</span><span>}
</span>
<span><span>.element</span> {
</span> <span>transform: function1(p1, [...pN]) function2(p1, [...pN]);
</span><span>}
</span>
透视化点
x是一个关键字(左中的,中心或右)或相对于元素宽度的百分比(0%,50%和100%等于关键字)。
<span><span>.element</span> {
</span> <span>transform: scaleX(2) translateY(50px);
</span><span>}
</span>
右下角消失点:
<span>transform: translateX(50px); /* 50px to right */
</span><span>transform: translateY(-100%); /* 100% up */
</span><span>transform: translate(50px, -100%); /* both together */
</span>
>还有一个perspective()函数 - 用于审查,转换:透视(200px)。但是,它似乎并不尊重任何观点。
>这可能是在JavaScript中使用的,并由具有几何学学位的人尝试!对于CSS,转换功能的列表可能更可读和可维护。
进一步阅读
使用CSS转换
>有关CSS 3D变换功能的常见问题
> CSS中的基本3D转换功能是什么?基本功能包括rotatex(),rotatey(),rotatez(),translate3d(),translatez(),scale3d()和perspective()。每个功能对元素都有独特的影响。例如,rotatex()将元素围绕x轴旋转,而translatez()沿z轴移动元素。这些函数可以组合起来创建复杂的3D变换。
> CSS中的2D和3D转换之间的区别是什么? CSS是发生转换的维度。 2D变换会影响X和Y轴中的元素,而3D变换也包括Z轴,为转换增加了深度。这意味着3D变换可以在三个维度上旋转,移动和缩放元素,从而产生更身临其境和动态的效果。
>>我可以动画CSS 3D变换吗?这使您可以创建平稳,渐进的转换,从而增强用户体验。您可以使用各自的CSS属性控制动画的持续时间,时序函数和延迟。
>
> CSS 3D转换中的matrix3d()函数是什么? )CSS 3D转换中的功能使您可以指定包含16个值的4×4转换矩阵。此功能可以代表任何3D变换,使其成为创建复杂3D效果的强大工具。但是,使用它可能非常复杂,因为它需要对矩阵数学有深刻的了解。
以上是CSS中的3D变换功能的详细内容。更多信息请关注PHP中文网其他相关文章!