设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 服务器 > 系统 > 正文

深入解读CSS3中transform变换模型的渲染(4)

发布时间:2020-03-15 18:54 所属栏目:52 来源:站长网
导读:通常假设观察者眼睛的位置在画面的中央。但是,如果想的话,这个位置也是可以移动的-例如,如果一个网页包含了很多图画那么大家通过设置perspective-origin的值来分享相同的视角。 图形表现了向上移动perspective o

通常假设观察者眼睛的位置在画面的中央。但是,如果想的话,这个位置也是可以移动的-例如,如果一个网页包含了很多图画那么大家通过设置perspective-origin的值来分享相同的视角。

2016527121645443.png (800×411)

图形表现了向上移动perspective origin对表现效果的影响

透视模型按如下进行计算:

1.从具体的模型开始
2.通过 设置的perspective-origin的X,Y的计算值进行移动
3.通过获得perspective属性的值应用在模型上
4.使之前设置的perspective- origin的值无效并进行移动
EXAMPLE5
这个例子表现了透视可以被用来表达立体的变换从而显现出更多真实的细节

CSS Code复制内容到剪贴板

div {   

  height: 150px;   

  width: 150px;   

}   

.container {   

  perspective: 500px;   

  border: 1px solid black;   

  background-color: #ccc;   

}   

.transformed {   

  transform: rotateY(50deg);   

  background-color: blue;   

}   

XML/HTML Code复制内容到剪贴板

<div class="container">  

  <div class="transformed"></div>  

</div>  

2016527121702837.png (300×262)

里面的元素和在前面的例子中有着相同的变换,但是它的渲染被父元素上的perspective属性所影响。透视给予了一个显现的深度,导致顶点有了Z坐标(靠近观察者)使其在X,Y轴被放大,并且更进一步的(在负的Z轴上)也会被缩小。
一个并不包含在3D渲染上下文中的立体变换元素有着合适的transform值进行渲染,但是也不会与其他任何元素发生相交。在这个EXAMPLE4中的立体变换可以被考虑为一种绘画效果,就像平面中的变换。相似的,变换不会影响渲染命令。举个例子,在transform中设置Z的值使元素进行移动可能使元素变得更大,但是并不会导致元素去渲染它前面没有设置Z值的元素

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读