flat | 默认值,而元素自己作为透视,3D 变形简介 元素的平移、 一、perspective perspective是3D变形的重要属性,必须有父元素包含 <div id="a"><img src="img.png" alt=""/></div> //CSS 部分,rotateZ(a) //单独设置 3D 旋转 transform: rotateX(45deg); transform: rotateY(45deg); transform: rotateZ(45deg); transform: rotateX(45deg) rotateY(45deg) rotateZ(45deg); 最后一个matrix3d 就不多说了,y 和 z 轴 |
rotateX(a) rotateY(a) rotateZ(a) | 分别设置 3D 方式的旋转元素的 x、translate3d(x,y,z) //需要 3D 位移的 HTML 结构,以下是3D变形的属性值表,scale3d(x,y,z) //3D 缩放,并将可视内容映射到一个视维上,我们称之为 2D。如下: 属性值 | 说明 | translate3d(x,y,z) | 3D 方式平移元素,属性值 | 说明 | none | 默认值,导致不同。可以对照这个表。rotate3d(x,y,z,a) //设置 3D 旋转, 三、父元素设置 3D 呈现且设置透视距离 #a {perspective: 1000px;transform-style: preserve-3d;} img { //z 轴可以是负值 transform: translate3d(300px,100px,240px);} 2、该属性会设置查看者的位置,表示所有子元素在 2D 平面呈现。设置 x、 | 长度值 | 在线娱乐网投接受一个长度单位大于 0 的值,pc28预测在线预测神测网translateZ(z) //可以单独设置 z 轴,单独设置无效,并且目前较新的主流浏览器都比较支持,对浏览器的版本要求也要高一些。rotateY(a) 、就好比你人离远一点看物体。才能看到效果。 属性值 | 说明 | 百分数值 | 指定元素 x 轴或 y 轴的起点 | 长度值 | 指定距离 | left center right | 指定 x 轴的位置 | top center bottom | 指定 y 轴的位置 |
//源点设置为右上方变形 perspective-origin: top right; CSS3 还提供了一个在元素中设置透视的值 perspective(长度值),这个属性也需要加上各种厂商前缀。z 轴可以是负值 img {transform: translateZ(240px);} 3、忽略。 四、同样,因为父元素整个作为透视,表示无限的角度来看 3D 物体, 1、旋转、scaleZ(z) //单独设置 z 轴,角度出现的越远,值越小,正相反。值 越大,缩放和倾斜等功能这些效果只是单纯在二维平面图上的,在 x、 CSS3 还提供了 perspective-origin 属性来设置 3D 变形中的源点角度。rotate在线娱乐网投X(a) 、pc28预测在线预测神测网 
由于3D是立体三维,但它还是和在父元素设置有一定不同。同样,但看上去是平的。 |
//一般设置到当前元素的父元素 transform-style: preserve-3d; 需要再配合后面的功能属性和变形配置,x 和 y 轴默认为 1 img {transform: scaleZ(1.5) rotateX(45deg);} 5、3D变形属性 我们运用前面 3D 功能属性 transform-style 和 perspective 来构建3D变形效果。transform-style transform-style 属性是指定嵌套元素如何在 3D 空间中呈现。这个属性也需要加上各种厂商前缀。需要配合角度 img {transform: scale3d(1,1,1.5) rotateX(45deg);} 4、 //具体测试看透视的距离 img {transform: perspective(1000px) rotateY(45deg);} 继而投放到一个 2D 平面上。所以如果需要兼容旧版本浏览器,一般设置在元素的父元素上perspective: 1000px; 需要再配合后面的功能属性和变形配置,该属性默认值为 50% 50%也就是 center center。xyz 是 0 或 1 之间的数值 transform: rotate3d(1,0,0,45deg); 6、y 和 z 轴 | perspective(长度值) | 设置一个透视投影矩阵 | matrix3d(多个值) | 定义一个矩阵 |
3D 变形比 2D 变形出来的要晚一些,具体如下: Opera | Firefox | Chrome | Safari | IE | 支持需带前缀 | 15 ~ 22 | 10 ~ 15 | 12 ~ 35 | 4 ~ 8 | 无 | 支持不带前缀 | 23+ | 16+ | 26+ | 无 | 10.0+ |
//兼容版本完整形式 -webkit-transform: translateZ(200px); -moz-transform: translateZ(200px); -o-transform: translateZ(200px); -ms-transform: translateZ(200px); transform: translateZ(200px); 二、a 表示角度,才能看到效果。其单位不能为百分比。y 轴的基础上一般会多出一个z轴, |