• css3系列之transform 详解scale


      scale()

      scaleX()

      scaleY()

      scaleZ()

      scale3d()

    改变的不是元素的宽高,而是 X 和 Y 轴的刻度

    本章有个很冷门的知识点 → scale 和 rotate 一起使用

     ——————————————————————————————————————

    scaleX()

    scaleY()

      缩放该元素,>1 放大, <1 缩小  默认值是 1;

    看了上面的图,你可能会觉得,好像是100px  变成了200px   但是实际上,并不是。变的不是 元素的 宽高。

    其实,他改变的不是元素的宽高,而是x 和 y 轴的刻度 ↓ 

    scale()

    这个呢,是上面两个的合体,也就是 参数 第一个是x 第二个是y

     

     

    scale3d()

    第一个参数是 x  第二个参数是y  第三个参数是z ,也就是scalex scaley scalez 的结合体。

    scalez吧,这个值原本就是3D的,所以可能会有点难理解, 像上面这个图, 本来就是2D 的图,你再怎么拉伸他的Z 轴,也是看不出效果的。前提是你的图,是3D的才能拉伸,2D的是拉伸不了的。  如果有不知道Z轴在哪里的朋友,请点这里→ rotateZ

    探索:

    首先,我们来思考一个问题,使用 rotate进行旋转,那么 X 和 Y 轴是会跟着旋转而变化的,那么这个时候加上 scaleX  和 Y,那么旋转的过程中,会不会带上scale 的效果?

    先来观察一下, 先rotate  再 scale 的效果:

    看完上面的图,是不是觉得,旋转的时候,会带着scale的效果一起旋转。 但是!  如果把他俩位置换了,那结果是截然不同的,先scale 再 rotate

    对比两张图,你就会发现,第一张的效果,确实是带上了scale的效果一起旋转的,怎么 换了个位置,就不一样呢?

    其实呢,先rotate,再scale(先旋转,后缩放) 是会把效果带上旋转的,但是  先scale 再rotate(先缩放,后旋转) 是不会把缩放的效果带上旋转的,缩放的效果,会留在原地,等你经过的时候,就会生效。看下面的图解,缩放的比例,会留在原地,经过的时候,就会恢复比例。

  • 相关阅读:
    Google's Innovation Factory (and how testing adapts)
    虎年拜年帖
    [ZZ]让测试也敏捷起来
    Selenimu做爬虫续
    OKR的解说
    春秋航空的机上店铺
    免费TK域名试用
    快速排序_C语言实现
    第一篇博客
    C、C++代码格式优化软件献给编程爱好者
  • 原文地址:https://www.cnblogs.com/yanggeng/p/11277199.html
Copyright © 2020-2023  润新知