经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTML/CSS » CSS » 查看文章
3D变形 CSS3 transform---rotateX(), rotateY(), rotateZ(), 透视(perspective)
来源:cnblogs  作者:jane_panyiyun  时间:2019/11/14 11:58:24  对本文有异议

2d x y

3d x y z

左手坐标系

伸出左手,让拇指和食指成“L”形,大拇指向右,食指向上,中指指向前方。这样我们就建立了一个左手坐标系,拇指、食指和中指分别代表X、Y、Z轴的正方向。如下图

 

CSS3中的3D坐标系与上述的3D坐标系是有一定区别的,相当于其绕着X轴旋转了180度,如下图

 

简单记住他们的坐标:

x左边是负的,右边是正的

y 上面是负的, 下面是正的

z 里面是负的, 外面是正的

 

rotateX()

就是沿着 x 立体旋转.

 

建议用代码运行下,自己感受即可理解

  1. img {
  2. transition:all 0.5s ease 0s;
  3. }
  4. img:hove {
  5. transform:rotateX(180deg);
  6. }

 

rotateY()

沿着y轴进行旋转

 

  1. img {
  2. transition:all 0.5s ease 0s;
  3. }
  4. img:hove {
  5. transform:rotateX(180deg);
  6. }

 

rotateZ()

沿着z轴进行旋转

  1. img {
  2. transition:all .25s ease-in 0s;
  3. }
  4. img:hover {
  5. /* transform:rotateX(180deg); */
  6. /* transform:rotateY(180deg); */
  7. /* transform:rotateZ(180deg); */
  8. /* transform:rotateX(45deg) rotateY(180deg) rotateZ(90deg) skew(0,10deg); */
  9. }

 

透视(perspective)

电脑显示屏是一个2D平面,图像之所以具有立体感(3D效果),其实只是一种视觉呈现,通过透视可以实现此目的。

透视可以将一个2D平面,在转换的过程当中,呈现3D效果。

  • 透视原理: 近大远小 。
  • 浏览器透视:把近大远小的所有图像,透视在屏幕上。
  • perspective:视距,表示视点距离屏幕的长短。视点,用于模拟透视效果时人眼的位置

注:并非任何情况下需要透视效果,根据开发需要进行设置。

perspective 一般作为一个属性,设置给父元素,作用于所有3D转换的子元素

理解透视距离原理:

原文链接:http://www.cnblogs.com/jane-panyiyun/p/11855508.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号