一,转换定义:

1,能够改变元素的形状,尺寸,位置

2,转换分两种:

2D转换:只能在X,Y轴发生改变:

例子:旋转(rotate)、拉伸(scale)、平移(move)、倾斜(skew)

3D转换:除了X,Y轴以外还能Z轴变化。

如:空间旋转。。。

二,转换属性(transform:使用2D,3D):

1,提示:

目前浏览器并不是完全支持所有的Transform ,IE9、Firefox 和Opera 仅支持2D transforms ,相应的CSS定义为:-ms-transform 、-moz-transform 和-o-transform ,而Safari 和Chrome 都支持2D和3D transforms ,相应的CSS定义为:-webkit-transform 。

2,取值:

transform: none(默认值,表示元素不进行转换)

transform-functions(表示一个或者多个转换函数,中间以空格分开):

解释:CSS3变形是一些效果的集合,比如平移、旋转、缩放和倾斜效果,每个效果都被称作为变形函数(Transform Function)

写法:

transform:: rotate(angle) scale(x,y)/(0~1的值)skewX(angle) translate(x,y);

3,transform-origin()属性:

1),默认情况,变形的原点在元素的中心点;

写法:transform-origin : 数值/百分比/关键字(left,right,top,bottom);

一个值:表示所有轴的位置

两个值:表示 X 轴和 Y 轴

三个值:表示 X 轴、Y 轴和 Z 轴;

4,2D位移:

1)translate(平移) 可取值:数值、百分比,也可以是负值

2)scale(缩放) 可取值:默认值为1,缩小:0 到 1 之间的数值,放大:大于 1 的数值;

3)rotate(旋转) 可取值:根据原点,将元素按照顺时针旋转给定的角度

允许负值,元素将逆时针旋转

4)skew(倾斜)  可取值;以原点位置,围绕 X 轴和 Y 轴,也可以按照一定的角度倾斜,可能会改变元素的形状

5,transform-style属性也是3D效果中经常使用的,

1)flat值为默认值,表示所有子元素在2D平面呈现。preserve-3d表示所有子元素在3D空间中呈现。

2)如果对一个元素设置了transform-style的值为flat,则该元素的所有子元素都将被平展到该元素的2D平面中进行呈现。沿着X轴或Y轴方向旋转该元素将导致位于正或负Z轴位置的子元素显示在该元素的平面上,而不是它的前面或者后面。如果对一个元素设置了transform-style的值为preserve-3d,它表示不执行平展操作,他的所有子元素位于3D空间中。

transform-style属性需要设置在父元素中,并且高于任何嵌套的变形元素。

Demo:

HTML:

<div class="wrap">

<div class="spin">

<div class="rotate">

<img src="3d-distance.jpg" alt="" width="142" height="200" />

</div>

</div>

</div>

<div class="wrap">

<div class="spin">

<div class="rotate three-d">

<img src="3d_axes.png" alt="" width="142" height="200" />

</div>

</div>

</div>

CSS:

.wrap {

width: 500px;

height: 300px;

margin: 30px auto;

position: relative;

background: url(68.jpg) no-repeat center center;

background-size: 100% 100%;

}

.spin {

width: 142px;

height: 200px;

position: absolute;

top: 50%;

left: 50%;

margin-left: -72px;

margin-top: -101px;

border: 1px dashed orange;

cursor: pointer;

transform-style: preserve-3d;

}

.rotate {

background: url(images/cardKingClub.png) no-repeat center;

background-size: 100% 100%;

border: 5px solid hsla(50,50%,50%,.9);

transform: perspective(200px) rotateY(45deg);

}

.rotate img{

border: 1px solid green;

transform: rotateX(15deg) translateZ(10px);

transform-origin: 0 0 40px;

}

/*改变transform-style的默认值*/

.three-d {

transform-style: preserve-3d;

}

6,3D转换

1)perspective 属性(中文意思是:透视,视角)

perspective属性设置镜头到元素平面的距离。所有元素都是放置在z=0的平面上。比如perspective(300px)表示,镜头距离元素表面的位置是300像素。

2)特点:

a,为元素定义 perspective 属性时,其子元素会获得透视效果,而不是元素本身

b,只影响 3D 转换元素

注意点;默认是3D效果不明显?这是因为镜头离平面太远了,所以旋转效果不明显。试试perspective属性。设置perspect=400px。

3)3D 位移主要包含

translateZ(z)

translate3d(x,y,z)

解释:对于没有rotateX以及rotateY的元素,translateZ的功能就是让元素在自己的眼前或近或远(结合黑板上的图);

4)3D 旋转主要包含

rotateX(deg)

rotateY(deg)

rotateZ(deg)

rotate3d(x,y,z,deg)

5)3D 缩放主要包含

scaleZ(z)

scale3d(x,y,z)

demo:

HTML:

<section id="darkblue" class="container">

<div class="box"></div>

</section>

CSS:

.container {

width: 200px;

height: 200px;

margin-bottom: 50px;

border: 1px solid gray;

}

.box {

width: 100%;

height: 100%;

opacity: .75;

}

#darkblue {

perspective: 600px;

}

#darkblue .box {

background-color: darkblue;

transform: translateZ(50px);

}

转换,2D,3D的更多相关文章

  1. CSS3常用属性(边框、背景、文本效果、2D转换、3D转换、过渡、有过渡效果大图轮播、动画)

    CSS3边框: 1.CSS3圆角:border-radius  属性--创建边框线的圆角 <body style="font-size:24px; color:#60F;"& ...

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

    CSS3中新增了对元素进行2D和3D的转换效果,这样可以是开发人员很方便的做出视觉效果更好的网页来. 通过CSS3中属性的定义,我们可以对元素进行移动.缩放.拉伸.旋转等等,可以通过定义transfo ...

  3. css3 字体、2D转换、3D转换

    学习篇之CSS3 字体.2D转换.3D转换 一.字体 @font-face 将字体文件存放到 web 服务器上,通过CSS3 @font-face规则中定义,它会在需要时被自动下载到用户的计算机上. ...

  4. paper 157:文章解读--How far are we from solving the 2D & 3D Face Alignment problem?-(and a dataset of 230,000 3D facial landmarks)

    文章:How far are we from solving the 2D & 3D Face Alignment problem?-(and a dataset of 230,000 3D ...

  5. FushionCharts Free 的运用[2D/3D图表处理]

    由于先前在一些论坛中谈论到这个插件的运用,留了一些QQ联系方式,最近老是被一些程序员“骚扰”,说是请教一些关于FushionChart Free图表的处理技术,先前还是比较乐意接受的,但发现后来一些完 ...

  6. 基于 HTML5 Canvas 的简易 2D 3D 编辑器

    不管在任何领域,只要能让非程序员能通过拖拽来实现 2D 和 3D 的设计图就是很牛的,今天我们不需要 3dMaxs 等设计软件,直接用 HT 就能自己写出一个 2D 3D 编辑器,实现这个功能我觉得成 ...

  7. 分享数百个 HT 工业互联网 2D 3D 可视化应用案例

    过去的 2018 年,我们认为是国内工业互联网可视化的元年,图扑软件作为在工业可视化领域的重度参与者,一线见证了众多 HTML5/Web 化.2D/3D 化的项目在工业界应用落地,我们觉得有必要在此分 ...

  8. Asphyre Sphinx is a cross-platform framework for developing 2D/3D video games and interactive business applications

    Introduction Introduction Asphyre Sphinx is a cross-platform framework for developing 2D/3D video ga ...

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

    DirectUI优点在于能够非常方便的构建高效,绚丽的,非常易于扩展的界面.作者是Bjarke Viksoe, 他的这个界面程序思想和代码都很优秀,他的代码主要表述了他的思想,尽管bug比較多,可是很 ...

  10. 分享数百个 HT 工业互联网 2D 3D 可视化应用案例之 2019 篇

    继<分享数百个 HT 工业互联网 2D 3D 可视化应用案例>2018 篇,图扑软件定义 2018 为国内工业互联网可视化的元年后,2019 年里我们与各行业客户进行了更深度合作,拓展了H ...

随机推荐

  1. elasticsearch 5.1 问题 ubuntu

    1.can not run elasticsearch as root 切换到非root用户 2.main ERROR Could not register mbeans java.security. ...

  2. ETL利器Kettle实战应用解析系列三 【ETL后台进程执行配置方式】

    本文主要阅读目录如下: 1.简介Kettle的Kitchen和Span 2.命令行调度任务配置方式 3.后台进程配置运行方式 4.Windows任务设置 5.Demo下载 1.简介Kettle的Kit ...

  3. 批量修改sql server 2008的架构

    --批量修改架构.名称为XJADMINATT的所有表修改为dbo-- --把执行的结果,拷贝到命令行,执行命令即可-- declare @name sysname declare csr1 curso ...

  4. ruby : nil?, empty? and blank?的选择

    article = nil article.nil? # => true empty? checks if an element - like a string or an array f.e. ...

  5. 时时获得高德地图坐标 http://lbs.amap.com/console/show/picker

    1.高德地图标注 在做开发时,或者做高德地图标注的时候,要用到高德地图的坐标,时时获得高德地图坐标 http://lbs.amap.com/console/show/picker 老的高德地图标注地址 ...

  6. php ffmpeg

    可以合成视频,音频视频合成等 $aurl = '../Uploads/movie/zzz.mp4'; $vurl = '../Uploads/mp3/dmd.mp3'; // exec("c ...

  7. pc wap 判断浏览器ua属性

    var ua = navigator.userAgent.toLowerCase(); var Android = String(ua.match(/android/i)) == "andr ...

  8. flash flex 程序出现错误 Error #2032

    解决思路参考: http://www.cnblogs.com/enjoyprogram/archive/2012/06/21/2557615.html 有可能是这种情况: 状况:在安装flshbuil ...

  9. 树莓派3B 安装微雪LCD5inch显示器(包含软键盘)

    树莓派单独使用时,往往需要触摸屏和软键盘用以方便操作,微雪LCD显示器就能较好的实现这个功能, 正好实验室又买入了一个3B的板子和一个5inch的显示器,便对着官方的安装手册,亲自安装了一次. 一:材 ...

  10. PHP取整函数:ceil,floor,round,intval的区别详细解析

    floor -- 舍去法取整说明float floor ( float value ) 返回不大于 value 的下一个整数,将 value 的小数部分舍去取整.floor() 返回的类型仍然是 fl ...