html中2D,3D效果的实现

  2D

  2D就是平时看到的平面,就是在屏幕上水平和垂直的交叉线X轴Y轴。

  2d中的位移属性:transform:translate(参数1,参数2)  参数1:在X轴上移动的距离(正值右移,负值左移)参数2:在Y轴上移动的距离(正值下移,负值上移)

也可以单独设置XY轴,transform:translateX(),transform:translateY()。

  2d中的缩放属性:transform:scale(参数1,参数2)  参数在0~0.9999中为缩小,大于1放大,参数1:水平缩小放大  参数2:垂直缩小放大

也可以单独设置XY轴,transform:scaleX(),transform:scaleY()。

  2d中的旋转属性:transform:rotate():同上,不过后面的单位不是px,而是deg。也是可以单独设置XY轴的旋转角度,方法同上一样。

  2d中的倾斜属性:transform:skew();和旋转类似、也是通过deg设置角度,能分别单独设置XY轴的倾斜角度。

在上面的缩放,旋转,倾斜都是以中心为原点进行的,那么我们想改变这个原点要怎么做呢?transform-origin:(参数1,参数2);我们这时就可以通过这个属性进行原点的设置,参数可以是负值。

  3D

  3d其实就是在2d是基础上增加Z轴,Z轴是面向我们的轴线,要实现3D效果,需要在父元素中建立一个3D舞台,让子元素在3D空间里面进行变化。

transform-style:preserve-3d;该属性让元素变为一个3D舞台。

  3D的属性和2D一样,只是增加了一条Z轴的参数。transform:translate(参数1,参数2,参数3)  参数1:在X轴上移动的距离(正值右移,负值左移)参数2:在Y轴上移动的距离(正值下移,负值上移)参数3:在Z轴上移动的距离(正值指向屏幕外,负值指向屏幕内)

  需要注意的一点是translateZ() //不能是百分比

  3D的旋转和缩放的简写:transform:scale3d(参数1,参数2,参数3),transform:rotate3d(参数1,参数2,参数3)  也可以transform:scaleX() scaleY() scaleZ();

在3D中还有一个重要的属性是:perspective(景深)能产生近大远小的视觉效果(结合动画能较好实现),该属性一般在父元素中使用,也可以在子元素中设置(transform:perspective();)但不能设置两个值,不然会冲突。建议在父元素中设置,数值在900~1200之间比较合适。如果值太小你就会看不见。

 设置perspective 绿色前面的大,后面的小(红色大小是相同的)     没有设置 perspective 可以看出三个同大

        

  

原文地址:https://www.cnblogs.com/JAY7758/p/12386846.html

时间: 2024-11-06 13:42:13

html中2D,3D效果的实现的相关文章

如何让IOS中的文本实现3D效果

本转载至 http://bbs.aliyun.com/read/181991.html?spm=5176.7114037.1996646101.25.p0So7c&pos=9     zhedianshi 级别: 帮帮团 发帖 487 云币 430 加关注 写私信 只看楼主 更多操作楼主  发表于: 2014-06-10 我想要在IOS中对一些文本进行3D效果渲染,使用了UIKit和标准视图控制器. 实现之的效果大概能成为这样:   能不能通过iOS和UIKit实现?我只用了一个静态PNG图片,

在WPF中使用PlaneProjection模拟动态3D效果

原文:在WPF中使用PlaneProjection模拟动态3D效果 虽然在WPF中也集成了3D呈现的功能,在简单的3D应用中,有时候并不需要真实光影的3D场景.毕竟使用3D引擎会消耗很多资源,有时候使用各种变换和假的阴影贴图也能设计出既省资源,又有很好用户体验的“伪”3D界面. 在Silverlight中,因为性能问题,一般并不使用真3D引擎,微软为Silverlight提供了System.Windows.Media.PlaneProjection 类,用投影变换来模拟3D的效果. 下面让我们看

CSS3打造3D效果——perspective transform的深度剖析

声明:此篇博文虽是自己手写,但大量资源取自 张鑫旭 的博文.想看更详细 更专业的剖析请看张鑫旭的博文. 昨天对css3的transform做了初步的分析和认识,突然看到perspective属性,调了半天没看出任何效果,于是开始百度... ... 度了半天发现perspective这玩意是做3D效果的,但为甚我做demo楞没看出perspective加上去有任何3D.拜读过 张鑫旭 的博文后才了解perspective是透视(学美术,建筑的肯定懂,不懂得我也解释的不专业,个人理解为景深).既然p

CSS3 03. 3D变换、坐标系、透视perspective、transformZ、transform-style添加3D效果、backface-visibility元素背面可见、动画animation、@keyfarmes、多列布局

1.左手坐标系 伸出左手,让拇指和食指成"L"形,大拇指向右,食指向上,中指指向前方.这样我们就建立了一个左手坐标系,拇指.食指和中指分别代表X.Y.Z轴的正方向.如下图 CSS中的3D坐标系 CSS3中的3D坐标系与上述的3D坐标系是有一定区别的,相当于其绕着X轴旋转了180度,如下图 左手法则 左手握住旋转轴,竖起拇指指向旋转轴正方向,正向就是其余手指卷曲的方向. 透视 perspective perspective:400px: 电脑显示屏是一个2D平面,图像之所以具有立体感(3

CSS3中的动画效果记录

今天要记录的是CSS3中的三种属性transform.transition以及animation,这三个属性大大提升了css处理动画的能力. 一.Transform 变形 CSS中transform 属性允许你修改CSS可视化模型的坐标控件.使用transform,元素可以安装设定的值变形.旋转.缩放.倾斜. 语法: transform : none | <transform-function> [ <transform-function> ]* 也就是: transform: r

CSS自学笔记(13):CSS3 2D/3D转换

CSS3中新增了对元素进行2D和3D的转换效果,这样可以是开发人员很方便的做出视觉效果更好的网页来. 通过CSS3中属性的定义,我们可以对元素进行移动.缩放.拉伸.旋转等等,可以通过定义transform属性来实现转换效果. 浏览器支持 属性 浏览器支持 2D transform IE Firefox Chrome(-webkit-) Safari(-webkit-) Opera 3D transform IE Firefox Chrome(-webkit-) Safari(-webkit-)

DirectUI 2D/3D 界面库集合 分析之总结

DirectUI优点在于能够非常方便的构建高效,绚丽的,非常易于扩展的界面.作者是Bjarke Viksoe, 他的这个界面程序思想和代码都很优秀,他的代码主要表述了他的思想,尽管bug比較多,可是很合适学习. DirctUI在不断的完好,有各种各样的3d界面库出来来了,可是,是它在我懵懂时给了我编程的思想,让我踏上了编程之路,以下,我把我搜集的界面库以及重构的界面库都贴出来,大家技术交流交流. 当中下载包中有: Duilib 开发文档.帮助文档以及分析说明文档 diablo_trunk(UI)

3d效果的图片轮播

CSS3的3d变换 CSS3给我们提供了一个新的功能,那就是3d变换.3d变换和2d变换的基本API函数类似,只不过多了些在Z轴上的操作,不难使用. 但是,为了让元素拥有3d变换的功能,我们需要给他的父元素设置相应的变换属性.与其相关的属性为perspective和transform-style.在新版的Chrome中已不需要添加私有前缀,不过为了兼容之前版本的浏览器,建议还是加上私有前缀(本例中并未添加私有前缀). perspective属性取值为:none|number.当值为数字时,意味着

CSS3中的3D动画实现(钟摆、魔方)--实现代码

CSS3中的3D动画实现(钟摆.魔方) CSS3的2D变形----传统的transform变形效果 transform : translate.scale.rotate.skew- translate:平移.scale:缩放.rotate:旋转.skew:倾斜 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>tran