transform

源码在这里可以看到

景深

刚突然知道css3里面竟然有景深这么一个好玩的api,然后就拿出来试了下。

perspective:pxNum 景深
perspective-origin:left | top 属性定义 3D 元素所基于的 X 轴和 Y 轴

3.gif
div
{
perspective: 500;
-webkit-perspective: 500; /* Safari 和 Chrome */
perspective-origin:20% 30% 
}

需要注意的是 这个属性是给3d转换的dom容器加的,而不是给某一个具体的3d转换的dom加的。


translate里属性的执行顺序

属性书写的先后顺序不同,也会造成最终的表现形式不同
结论就是写在后面的先执行。

2.gif
<div class="div1">
    <div class="body" data-dom="1"></div>
</div>
<div class="div1">
    <div class="body"data-dom="2"></div>
</div>
 
this.style.transform = 'scale(.5) translateX(50px)';

this.style.transform = 'translateX(50px) scale(.5)';

translateX等虽然让元素发生了位移,但是是不会改变元素的中心点

1.gif
this.style.transform = 'rotate(180deg) translateX(50px)';

this.style.transform = 'translateX(50px) rotate(180deg)';


transform-origin

区别于景深,它是作用于变换的dom上
rotate scale skew 其实是围绕transform-origin指定的位置进行转换的,之所以看起来是围绕中心点,是因为center是这个css的默认值而已

4.gif
.body{
    width:100px;
    height:100px;
    background:red;
    transition:1s;
}
.body1_1{
   transform-origin: left top;
}
<div class="div div1">
    <div class="body body1 body1_1" data-dom="1"></div>
</div>
<div class="div">
    <div class="body body1"data-dom="2"></div>
</div>

transform-origin

这个css其实有第三个参数,是用来设置translate3d的变换原点


5.gif
.body2_1{
     transform-origin:center center -30px;
}

<div class="div">
    <div class="body body2" data-dom="1"></div>
</div>
<div class="div">
    <div class="body body2 body2_1"data-dom="2"></div>
</div>

this.style.transform = 'rotateX(180deg)';

transform-style

是否保留子元素(不是子孙元素)的3d变化(是否是真3d空间)


6.gif
.body3_1{
     transform-style: preserve-3d;
         /**flat 不保留**/
}
.body3_body{
     width:100px;
     height:100px;
     background:#0ff;
     transform: rotateX(45deg);
}

<div class="div">
    <div class="body body3" data-dom="1">
        <div class="body3_body"></div>
    </div>
</div>
<div class="div">
    <div class="body body3 body3_1"data-dom="2">
        <div class="body3_body"></div>
    </div>
</div>

this.style.transform = 'rotateY(180deg)';

以上均是看妙味课程后的笔记。 妙味大法好!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 关于css3变形 CSS3变形是一些效果的集合,比如平移、旋转、缩放和倾斜效果,每个效果都被称作为变形函数(Tra...
    hopevow阅读 6,410评论 2 13
  • CSS3动画的属性主要分为三类:transform、transition以及animation。 Transfor...
    may_mico阅读 12,074评论 1 19
  • CSS里transform变形这个属性有点学习难度,尤其在CSS3里加上了3D效果之后,2维变3维学习成本更是成倍...
    张歆琳阅读 28,024评论 5 81
  • Transform除了旋转、偏移、缩放、倾斜这些transform-function外,本篇介绍另外剩余的边角料:...
    荷小音阅读 621评论 0 3
  • 一、写在前面的秋裤 早在去年的去年,我就大肆介绍了2D transform相关内容。看过海贼王的都知道,带D的家伙...
    MrZengB阅读 1,373评论 2 9