zoukankan      html  css  js  c++  java
  • css3 transfrom使用以及其martix(矩阵)属性与其它属性的关系

     
    兼容性 : 
         IE9+ : -ms-transform :  IE9只支持2D转换 
         firefox , chrom , opera : 支持3D转换 
     
    写法 : 
         div {
              -moz-transform : rotate(10deg);
        transform : rotate(10deg);
        -ms-transform : rotate(10deg);
      }
     
    p.s : transform中多个属性可以同时使用,如:
         
     

     

    rotate属性 : 平面旋转多少角度
    1、使用方法 : transform : rotate(10deg);
     demo : 
              
     

    skew属性 :倾斜多少角度

    1、使用方法 : transform : skew(10deg);

    2、demo  :

          html : <div class="transform transform2">transform</div>
          css   :-webkit-transform : skew(20deg)
          结果 : 
                 
     

    scale属性 :放大多少倍(括号里面填写的是倍数)

    1、使用方法 : transform : scale(11.5);

    2、demo  :

          html : <div class="transform transform2">transform</div>
          css   :-webkit-transform : scale(1.5)
       结果 : 
                    
     

    matrix属性 :矩阵方式进行变换

    1、使用方法 : transform :matrix(2,0,0,2,0,0);

    2、demo  :

          html : <div class="transform transform2">transform</div>
          css   :-webkit-transform :matrix(2,0,0,2,0,0); matrix( a , b, c, d , e, f)
      兼容性 : 
        firefox下e, f除了0值之外必须只用长度单位值(“px”,“em”等)或者使用百分数
            webkit和opera下tx, ty的值不加单位或者百分数,他们就是一个数值,默认单位是px;
         结果 : 
                    
     
     
     
    transfrom属性里面的skew、rotate、scale 等属性跟matrix的关系是 : 
      
    也就是说,倾斜,缩放,旋转,位移都是基于matrix来实现的
    下面举个例子 : 
         e.g :-webkit-transform : scale(1.5); //放大1.5倍
                  对应的矩阵为 -webkit-transform : martix( 1.5 , 0 , 0 , 1.5 , 0 , 0 )
      
    下面介绍矩阵的原理 :
    1、martix的六个参数分别对应一下的abcdef
       
    2、矩阵相乘,计算每一个点的坐标,假设每一个点的坐标是 : x, y,两个矩阵相乘得到后面的结果。后面的结果就是对应着这个点A(x,y)经过变换后的位置( ax + cy+ e , bx + dy + f , 1 ) //最后的1是代表z轴都是1,代表在2D上进行转换
    回到前面的缩放1.5陪的例子,就是将每一个点的x,y扩大1.5倍
    x : ax + cy + e = 1.5x  意思就是 c , e 为0
    y : bx + dy + f = 1.5y  意思就是 b , f 为0
     
    平移,倾斜都是来自这个原理,所以如果一个matrix与其他属性一起用可能达不到你想要的效果

    相关博客来源 : 

      http://blog.csdn.net/henren555/article/details/9699449

        http://www.useragentman.com/blog/2011/01/07/css3-matrix-transform-for-the-mathematically-challenged/

  • 相关阅读:
    威尔逊定理 费马小定理 欧拉定理 扩展欧拉定理
    Prufer编码
    [USACO 08MAR]土地购买 Land Acquisition
    [NOIp2004]虫食算
    [POI2000]病毒

    [NOI导刊] [2010] [提高] 淘汰赛制
    开源的基于云开发的通讯录小程序
    党建答题小程序
    抽奖活动小程序按人头开奖技术分析
  • 原文地址:https://www.cnblogs.com/lztkiss/p/4301628.html
Copyright © 2011-2022 走看看