一,转换定义:

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. openjudge-最好的草

    http://noi.openjudge.cn/ch0108/17/ 总时间限制:  10000ms 单个测试点时间限制:  1000ms 内存限制:  65536kB 描述 奶牛Bessie计划好好 ...

  2. Nginx中文域名配置

    Nginx虚拟主机上绑定一个带中文域名,比如linuxeye.中国,浏览器不能跳转. why? 因为操作系统的核心都是英文组成,DNS服务器的解析也是由英文代码交换,所以DNS服务器上并不支持直接的中 ...

  3. Linux LVM硬盘管理之二:创建逻辑卷步骤

    创建逻辑卷(LV)的顺序:Linux分区---物理卷(PV)---卷组(VG)---逻辑卷(LV)---挂载到文件系统 删除逻辑卷(LV)的顺序:卸载文件系统----逻辑卷(LV)---卷组(VG)- ...

  4. geohash基本原理

    geohash基本原理是将地球理解为一个二维平面,将平面递归分解成更小的子块,每个子块在一定经纬度范围内拥有相同的编码,这种方式简单粗暴,可以满足对小规模的数据进行经纬度的检索 目录: 经纬度常识 认 ...

  5. Weblogic是瓦特?和JVM是瓦特关系?

    所谓固定内存60M是瓦特? 以下内容是个瓦特? “总内存大小=堆内存+非堆内存1200m:为堆内存大小,如果不指定后者参数则有最大数限制,网上很多文章认为这就是JVM内存,-Xmx为设置最大堆内存60 ...

  6. 关于CPLD与FPGA的对比分析

    1.PLD/FPGA/CPLD PLD(Programmable Logic Device):可编程逻辑器件,数字集成电路半成品,芯片上按照一定的排列方式集成了大量的门和触发器等基本逻辑元件,使用者按 ...

  7. Xcode插件安装 错选了Skip Bundle解决办法

    1.首先找到Xcode的UUID,在终端运行defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID ...

  8. Entity Framework 连接低版本数据库

    使用EF6连接SQL2012生成的Edmx,分页时生成的查询语句使用了SQL 2012引入的新特性  OFFSET 0 ROWS FETCH NEXT 20 ROWS ONLY,结果在生产环境使用的数 ...

  9. win7 64位 VS2010调试提示“ORA-12154: TNS: 无法解析指定的连接标识符”的解决方法

    如果使用工具可以连接Oralce说明与Oralce安装无法. 解决方法: 解决步骤: 1.去网上下载"instantclient-basic-win32-11.2.0.1.0.zip&quo ...

  10. LeetCode "Is Subsequence"

    There are 3 possible approaches: DP, divide&conquer and greedy. And apparently, DP has O(n^2) co ...