3  perspective-origin景深基点

perspective-origin景深基点属性时3D变形中另一个重要属性,主要用来决定perspective属性的源点角度。它实际上设置了X轴和Y轴位置,在该位置观看者好像在观看该元素的子元素。

perspective-origin属性的使用语法如下:

perspective-origin: tx ty;

该属性的默认值为“50%  50%”,可以设置一个值,也可以设置两个长度值。其取值及描述如表3

表3 perspective-origin属性值及描述

同perspective一样,perspective-origin属性必须定义在父元素上。通常perspective-origin属性本身不做任何事情,它必须被定义在设置了perspective属性的元素上。换句话说,perspective-origin属性需要与perspective属性结合使用,以便将视点移至元素的中心以外位置。

同样,我们通过一个小案例来加深一下对perspective-origin的印象。代码如下:

在这里我们也设置了两个div,每个div里包含一张图片。每个div都建立3D空间,设置600px的景深。不同的是,我们改变了第二个div的景深基点为“left top”,第一张使用默认的景深基点为“50% 50%”。在浏览器中查看,运行效果如图2所示:

图2  perspective-origin景深基点

从上图,我们可以看出两张图的差别。设置景深基点相当于换了位置查看这个3D变化。

4  3D位移

在CSS3中3D位移主要包括两种函数translateZ()和translate3d()。translate3d()函数使一个元素在三维空间移动。这种变形的特点是,使用三维向量的坐标定义元素在每个方向移动了多少。其基本语法如下:

translate3d(tx,ty,tz)

其属性取值及说明如表4:

表4  translate3d(tx,ty,tz)属性值取值及说明

一起来看一个简单的实例,加深对translate3d()的理解,代码如下:

这里我们为第二张图片使用translate3d()方法,让它相对于之前的位置偏移,横向偏移10px,纵向偏移10px,Z轴位移偏量为-100px。在浏览器中查看,运行效果如图3所示:

图3  translate3d() 3D位移

从上图,我们可以看出两张图的差别。第二张图位移发生了改变,向右偏移了10px,向下偏移了10px,向后偏移了100px。

在CSS3中3D位移除了translate3d()函数之外还有translateZ()函数。translateZ()函数的功能是让元素在3D空间沿Z轴进行位移,其基本使用语法如下:

translateZ(t)

t指的是Z轴的向量位移长度。

使用translateZ()函数可以让元素在Z轴进行偏移,当其为负值时,元素在Z轴越移越远,导致元素变得较小。反之,当其值为正值是,元素在Z轴越来越近,导致元素变得较大。将上例CSS代码的translate3d()方法替换成translateZ()方法,代码如下:

这里我们为第二张图片使用translateZ()方法,Z轴位移偏量为-100px。在浏览器中查看,运行效果如图4所示:

图4  translate3d() 3D位移

translateZ()函数仅让元素在Z轴进行位移,在实际使用中等同于translate3d(0,0,tz)。

IT兄弟连 HTML5教程 CSS3属性特效 3D变换2的更多相关文章

  1. IT兄弟连 HTML5教程 CSS3属性特效 3D变换1

    3D变换较2D变换多了一下的转换属性,3D转换属性及描述如表1: 表1  3D转换属性 3D的转换方法如表2: 表2  3D转换方法     1  transform-style transform- ...

  2. IT兄弟连 HTML5教程 CSS3属性特效 3D变换3

    5  3D旋转 在三维变形中,我们可以让元素在任何轴旋转.为此,CSS3新增了三个旋转函数:rotateX().rotateY()和rotateZ().使用rotateX()函数允许一个元素围绕X轴旋 ...

  3. IT兄弟连 HTML5教程 CSS3属性特效 2D变换1

    通过CSS3转换,能够对元素进行移动.缩放.转动.拉长或拉伸.它如何工作?转换是使元素改变形状.尺寸和位置的一种效果.CSS3转换包括2D转换和3D转换,本小结我们来了解2D变换的转换方法. 转换属性 ...

  4. IT兄弟连 HTML5教程 CSS3属性特效 2D变换2

    3  scale() 方法 通过scale() 方法,元素的尺寸会增加或减少,根据给定的宽度(X轴)和高度(Y轴)参数.缩放scale()函数让元素根据中心原点对对象进行缩放.默认值是1,因此0.01 ...

  5. IT兄弟连 HTML5教程 CSS3属性特效 小结及习题

    本章小结 CSS3新增了许多属性,CSS3样式新增了一种颜色模式rgba用来制作透明色,比CSS的颜色模式多了一个透明度的设置.文字的CSS3特效有文字阴影.文字描边.文字排版和文字省略等.另外,CS ...

  6. IT兄弟连 HTML5教程 CSS3属性特效 文字描边

    用CSS3实现的文字描边效果,一个CSS3文字特效实例,字体可以自己随意改,字体颜色也可以自己改.IE9以下浏览器无效果,所以提醒大家测试时候要使用Google Chrome.-webkit-text ...

  7. IT兄弟连 HTML5教程 CSS3属性特效 动画-animation

    CSS3属性中有关于制作动画的三个属性:Transform,Transition,Animation.前面已经介绍过Transform和Transition了,这里我们来学习Animation动画.通 ...

  8. IT兄弟连 HTML5教程 CSS3属性特效 transition过渡

    CSS3的transition允许css的属性值在一定的时间区间内平滑地过渡.这种效果可以在鼠标单击.获得焦点.被点击或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值. transitio ...

  9. IT兄弟连 HTML5教程 CSS3属性特效 遮罩

    CSS遮罩提供一种基于像素级别的,可以控制元素透明度的能力,类似于png24位或png32位中的alpha透明通道的效果.遮罩有三个属性可以设置,分别是mask-image.mask-position ...

随机推荐

  1. 【JZOJ】3490. 旅游题解报告

    题目 思路 这道题看上去就像一个动态规划!但是还是要把矩阵压成一行. 然后按 \(A\)数组 将结构体从小到大排个序. 随后我们开始了动规标准步骤: 确定状态 很显然, \(f_i\) 表示游览完第\ ...

  2. 重新调用 layoutSubview

    重新调用 layoutSubview

  3. 基于JDK1.8的JVM 内存结构【JVM篇三】

    目录 1.内存结构还是运行时数据区? 2.运行时数据区 3.线程共享:Java堆.方法区 4.线程私有:程序计数器.Java 虚拟机栈.本地方法栈 5.JVM 内存结构总结 在我的上一篇文章别翻了,这 ...

  4. 引用公共页面的js函数报错

    对于网站来说很多页面之间都有着大量的共享模块,如页头,页脚和用户栏等.很多时候为了方便.省事,我们在公共模块写函数,然后在别的页面里调用.但我们在引用公共的js函数时,有些可以引用,有些却报错:这是因 ...

  5. 你的SpringBoot应用真的部署更新成功了吗

    前提 当我们在生产环境部署了SpringBoot应用的时候,虽然可以通过Jenkins的构建状态和Linux的ps命令去感知应用是否在新的一次发布中部署和启动成功,但是这种监控手段是运维层面的.那么, ...

  6. php上传下载文件

    之前做一个上传下载的项目,发现网上的和自己需求不是很一样,翻阅了下书籍和整理了下网上的一些代码.做了一个上传下载的demo,上传通过php本身的uploadfile函数,并返回以时间戳命名的文件名后, ...

  7. iOS 日志获取和实时浏览器显示日志

    https://juejin.im/entry/576252855bbb500063e51c7d iOS 日志获取和实时浏览器显示日志

  8. 笔记||Python3之异常处理

    异常概念:1 - 代码执行产生错误,无法继续 2 - 在异常前面代码是可以执行的  ---python是解释型的 3 - 异常作用  --- 程序不要退出 - 可以继续执行 同时给予程序员一定的异常提 ...

  9. java笔记 -- 乐观锁与悲观锁

    何谓乐观锁和悲观锁 乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展.这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人. 悲观锁 - ...

  10. scikit-learn与数据预处理

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...