5  3D旋转

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

rotateX()函数指定一个元素围绕X轴旋转,旋转的量被定义为指定的角度;如果值为正值,元素围绕X轴顺时针旋转;反之,如果值为负值,元素围绕X轴逆时针旋转。其基本语法如下:

 rotateX(a)

其中,a指的是一个旋转角度值,其值可以是正值也可以是负值。

rotateY()函数指定一个元素围绕Y轴旋转,旋转的量被定义为指定的角度;如果值为正值,元素围绕Y轴顺时针旋转;反之,如果值为负值,元素围绕Y轴逆时针旋转。其基本语法如下:

rotateY(a)

其中,a指的是一个旋转角度值,其值可以是正值也可以是负值。

rotateZ()函数和其它两个函数功能一样的,区别在于rotateZ()函数指定一个元素围绕Z轴旋转。其基本语法如下:

rotateZ(a)

rotateZ()函数指定元素围绕Z轴旋转,如果仅从视觉角度上看,rotateZ()函数让元素顺时针或逆时针旋转,并且效果和rotate()效果等同,但它不是在2D平面的旋转。

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

这里我们让第一张图片绕X轴旋转30deg,第二张图片绕Y轴旋转30deg,第三张图片绕Z轴旋转30deg。在浏览器中查看,运行效果如图5所示:

图5  rotate() 3D旋转

6  3D缩放

CSS3 3D变形中的缩放主要有scaleZ()和scale3d()两种函数,当scale3d()中的X轴和Y轴同时为1,即scale3d(1,1,sz),其效果等同于scaleZ(sz)。通过使用3D缩放函数,可以让元素在Z轴上按比例缩放。默认值为1,当值大于1时,元素放大;反之小于1大于0.01时,元素缩小。其使用语法如下:

scale3d(sx,sy,sz)

scale属性取值及说明如表5:

表5 scale()属性值取值及说明

2D的缩放函数为scale(sx,sy),能横向和纵向缩放元素。3D转化多了一个Z轴的缩放。用scaleZ()函数实现元素在Z轴的缩放,其使用的语法如下:

scaleZ(s)

s指定元素每个点在Z轴的比例。一起来看一个简单的实例,加深对scaleZ()函数的理解,代码如下:

这里我们让第一张图片绕Y轴旋转30deg,第二张图片绕Y轴旋转30deg并且放大三倍。在浏览器中查看,运行效果如图6所示:

图6  scaleZ() 3D缩放

7  3D盒子

这里使用3D转换的属性及方法构造出一个6面的3D盒子,该盒子是一个正方体。代码如下:

这样就构造出了一个3D盒子,正面是3。当鼠标移入到盒子时,让该盒子绕X轴旋转360deg,为了让读者清晰地看到盒子旋转的过程,我们为该盒子增加了过渡。下面是旋转过程的随机截图,如图7所示:

图7 3D盒子

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

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

    3  perspective-origin景深基点 perspective-origin景深基点属性时3D变形中另一个重要属性,主要用来决定perspective属性的源点角度.它实际上设置了X轴和Y ...

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

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

  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. python中的局部变量和全局变量

  2. 使用PaintCode便捷地实现动画效果

    // // ViewController.m // paintCodeTestOC //gif // Created by LongMa on 2019/7/25. // #import " ...

  3. css5-盒子模型

    HTML<!DOCTYPE html><html lang="en"><head> <link rel="stylesheet& ...

  4. 带着canvas去流浪系列之一:绘制柱状图

    [摘要] 学习使用canvasAPI来实现数据可视化. 示例代码托管在:http://www.github.com/dashnowords/blogs 一. 任务说明 使用原生canvasAPI绘制柱 ...

  5. 在modelarts上部署backend为TensorFlow的keras模型

    最近老山在研究在modelarts上部署mask-rcnn,源代码提供的是keras模型.我们可以将keras转化成savedModel模型,在TensorFlow Serving上部署,可参考老山的 ...

  6. redis数据类型--hash

    /** Redis应用之Hash数据类型* 问题1:操作命令* 问题2:存储实现原理和数据结构* 问题3:应用场景* */ 先了解下什么是hash,什么是hash碰撞:hash:是包含键值对的kv的数 ...

  7. SpringBoot整合邮件发送

    本节介绍SpringBoot项目如何快速配置和发送邮件,包括简单的邮件配置.发送简单邮件.发送HTML邮件.发送携带附件的邮件等. 示例源码在:https://github.com/laolunsi/ ...

  8. Linux中Postfix反病毒和垃圾邮件(十)

    amavisd-new amavisd-new呼叫器是一个连接MTA和内容检测工具(诸如病毒扫描工具和SpamAssassin)的高性能接口程序,使用perl语言写成.它一般通过SMTP.ESMTP或 ...

  9. JavaEE基础(04):会话跟踪技术,Session和Cookie详解

    本文源码:GitHub·点这里 || GitEE·点这里 一.会话跟踪 1.场景描述 比如登录某个购物网站,身份识别成功后,在网站下单,支付 等操作,这些操作中当前登录用户信息必须是共享的,这样这些操 ...

  10. Bean 字段复制利器 MapStruct

    本文聊一个工具类,MapStruct ,它是一个在 dto,po(do/entity),vo 等这些 pojo 中转换字段的一个工具,在应用中经常有这样的转换,在 spring 和 apache-co ...