转换,2D,3D
一,转换定义:
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的更多相关文章
- CSS3常用属性(边框、背景、文本效果、2D转换、3D转换、过渡、有过渡效果大图轮播、动画)
CSS3边框: 1.CSS3圆角:border-radius 属性--创建边框线的圆角 <body style="font-size:24px; color:#60F;"& ...
- CSS自学笔记(13):CSS3 2D/3D转换
CSS3中新增了对元素进行2D和3D的转换效果,这样可以是开发人员很方便的做出视觉效果更好的网页来. 通过CSS3中属性的定义,我们可以对元素进行移动.缩放.拉伸.旋转等等,可以通过定义transfo ...
- css3 字体、2D转换、3D转换
学习篇之CSS3 字体.2D转换.3D转换 一.字体 @font-face 将字体文件存放到 web 服务器上,通过CSS3 @font-face规则中定义,它会在需要时被自动下载到用户的计算机上. ...
- 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 ...
- FushionCharts Free 的运用[2D/3D图表处理]
由于先前在一些论坛中谈论到这个插件的运用,留了一些QQ联系方式,最近老是被一些程序员“骚扰”,说是请教一些关于FushionChart Free图表的处理技术,先前还是比较乐意接受的,但发现后来一些完 ...
- 基于 HTML5 Canvas 的简易 2D 3D 编辑器
不管在任何领域,只要能让非程序员能通过拖拽来实现 2D 和 3D 的设计图就是很牛的,今天我们不需要 3dMaxs 等设计软件,直接用 HT 就能自己写出一个 2D 3D 编辑器,实现这个功能我觉得成 ...
- 分享数百个 HT 工业互联网 2D 3D 可视化应用案例
过去的 2018 年,我们认为是国内工业互联网可视化的元年,图扑软件作为在工业可视化领域的重度参与者,一线见证了众多 HTML5/Web 化.2D/3D 化的项目在工业界应用落地,我们觉得有必要在此分 ...
- 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 ...
- DirectUI 2D/3D 界面库集合 分析之总结
DirectUI优点在于能够非常方便的构建高效,绚丽的,非常易于扩展的界面.作者是Bjarke Viksoe, 他的这个界面程序思想和代码都很优秀,他的代码主要表述了他的思想,尽管bug比較多,可是很 ...
- 分享数百个 HT 工业互联网 2D 3D 可视化应用案例之 2019 篇
继<分享数百个 HT 工业互联网 2D 3D 可视化应用案例>2018 篇,图扑软件定义 2018 为国内工业互联网可视化的元年后,2019 年里我们与各行业客户进行了更深度合作,拓展了H ...
随机推荐
- elasticsearch 5.1 问题 ubuntu
1.can not run elasticsearch as root 切换到非root用户 2.main ERROR Could not register mbeans java.security. ...
- ETL利器Kettle实战应用解析系列三 【ETL后台进程执行配置方式】
本文主要阅读目录如下: 1.简介Kettle的Kitchen和Span 2.命令行调度任务配置方式 3.后台进程配置运行方式 4.Windows任务设置 5.Demo下载 1.简介Kettle的Kit ...
- 批量修改sql server 2008的架构
--批量修改架构.名称为XJADMINATT的所有表修改为dbo-- --把执行的结果,拷贝到命令行,执行命令即可-- declare @name sysname declare csr1 curso ...
- ruby : nil?, empty? and blank?的选择
article = nil article.nil? # => true empty? checks if an element - like a string or an array f.e. ...
- 时时获得高德地图坐标 http://lbs.amap.com/console/show/picker
1.高德地图标注 在做开发时,或者做高德地图标注的时候,要用到高德地图的坐标,时时获得高德地图坐标 http://lbs.amap.com/console/show/picker 老的高德地图标注地址 ...
- php ffmpeg
可以合成视频,音频视频合成等 $aurl = '../Uploads/movie/zzz.mp4'; $vurl = '../Uploads/mp3/dmd.mp3'; // exec("c ...
- pc wap 判断浏览器ua属性
var ua = navigator.userAgent.toLowerCase(); var Android = String(ua.match(/android/i)) == "andr ...
- flash flex 程序出现错误 Error #2032
解决思路参考: http://www.cnblogs.com/enjoyprogram/archive/2012/06/21/2557615.html 有可能是这种情况: 状况:在安装flshbuil ...
- 树莓派3B 安装微雪LCD5inch显示器(包含软键盘)
树莓派单独使用时,往往需要触摸屏和软键盘用以方便操作,微雪LCD显示器就能较好的实现这个功能, 正好实验室又买入了一个3B的板子和一个5inch的显示器,便对着官方的安装手册,亲自安装了一次. 一:材 ...
- PHP取整函数:ceil,floor,round,intval的区别详细解析
floor -- 舍去法取整说明float floor ( float value ) 返回不大于 value 的下一个整数,将 value 的小数部分舍去取整.floor() 返回的类型仍然是 fl ...