zoukankan      html  css  js  c++  java
  • CSS3 Transform

    CSS transform 属性(变形,改变)允许你修改CSS视觉格式模型的坐标空间。使用它,元素可以被 translate(转换),rotate(旋转),scale(缩放),skew(倾斜)

    需要特别强调一点:transform 属性只对 块级元素生效(有些大牛博客说对内联元素和块级元素),亲测结果如下:

    <h3>块级元素DIV</h3>
     <div class="img">
          <img src="https://mdn.mozillademos.org/files/15157/firefox.png" alt="">
    </div>
    <h3>行内元素SPAN</h3>
        <span class="img">
        <img src="https://mdn.mozillademos.org/files/15157/firefox.png" alt="">
        </span>
    .img{
      width: 80px;
      >img{
        width: 80px;
      }
      &:hover{
        transform: rotate(45deg)
      }
    }

    可以看到,transform 属性对块级元素有效,对内联元素无效

    语法:

    transform: none | transform-function[ transform-function transform-function ...]
    

    none 是默认值,表示不改变

    transform-function 是转换函数,以 空格 隔开,也就是说对同一个元素,可以进行多种不同的变形操作,如:

    transform: rotate translate skew
    

    transform-origin CSS属性让你更改一个元素转换的原点

    transform-origin 属性可以用一个,两个或三个值来指定,其中每一个值表示一个偏移量

    • 一个值     必须是<length>,<percentage> 或 left,center,right,top,bottom 关键字中的一个
    • 两个值     
      • 其中一个必须是 <length>,<percentage> 或 left,center,right 关键字中的一个
      • 另一个必须是 <length>,<percentage> 或 center,top,bottom 关键字中的一个
    • 三个值    
      • 前两个值和只有两个值的用法相同
      • 第三个值必须是 <length> 它始终代表 Z 轴偏移量

    1、rotate(旋转)

    transform:  rotate(angle);       /* an <angle>, e.g.  rotate(30deg) */

    从转换原点(由 transform-origin 指定,默认是圆中心)开始,按照 顺时针 方向旋转一个特定的角度 (正数:顺时针,负数:逆时针)

    2.scale(缩放)

    transform:  scale(sx[, sy]);     /* one or two unitless <number>s, e.g.  scale(2.1,4) */

    由 [sx, sy] 描述指定一个二维缩放数组。如果 sy 未指定,默认认为和 sx 的值相同

    X 方向缩放

    transform:  scaleX(sx);          /* a unitless <number>, e.g.  scaleX(2.7) */

    Y 方向缩放

    transform:  scaleY(sy)           /* a unitless <number>, e.g.  scaleY(0.3) */

    示例效果:(默认转换原点)

    3、skew(倾斜)

    transform:  skew(ax[, ay])       /* one or two <angle>s, e.g.  skew(30deg,-10deg) */

    元素在 X 轴 和 Y 轴方向以指定的角度倾斜。如果 ay 未提供,在 Y轴上没有倾斜

    X方向倾斜

    transform:  skewX(angle)         /* an <angle>, e.g.  skewX(-30deg) */

    Y方向倾斜

    transform:  skewY(angle)         /* an <angle>, e.g.  skewY(4deg) */

    示例效果:(默认转换原点)

    5、translate(平移)

    transform:  translate(tx[, ty])  /* one or two <length> values */

    用向量 [tx, ty] 完成 2D 平移,如果没有 ty 指定,它的值默认为 0

    X 方向平移

    transform:  translateX(tx)       /* see <length> for possible values */

    Y 方向平移

    transform:  translateY(ty)       /* see <length> for possible values */

    示例效果:(默认转换原点)

    不同厂商浏览器下的前缀书写规则:

    //Mozilla内核浏览器:firefox3.5+
      -moz-transform: rotate | scale | skew | translate ;
    //Webkit内核浏览器:Safari and Chrome
      -webkit-transform: rotate | scale | skew | translate ;
    //Opera
      -o-transform: rotate | scale | skew | translate ;
    //IE9
      -ms-transform: rotate | scale | skew | translate ;
    //W3C标准
      transform: rotate | scale | skew | translate ;
  • 相关阅读:
    萌新向Python数据分析及数据挖掘 第二章 pandas 第一节 pandas使用基础Q&A 16-30
    萌新向Python数据分析及数据挖掘 第二章 pandas 第一节 pandas使用基础Q&A 1-15
    萌新向Python数据分析及数据挖掘 第二章 pandas 第二节 Python Language Basics, IPython, and Jupyter Notebooks
    萌新向Python数据分析及数据挖掘 第一章 Python基础 第十节 文件和异常
    萌新向Python数据分析及数据挖掘 第一章 Python基础 第九节 类
    萌新向Python数据分析及数据挖掘 第一章 Python基础 第八节 函数
    萌新向Python数据分析及数据挖掘 第一章 Python基础 第七节 用户输入和while循环
    萌新向Python数据分析及数据挖掘 第一章 Python基础 第六节 字典
    Window环境下的Redis集群部署
    FastReport 报表正确使用Page [Page] of [TotalPages]的方法(同一单号的分页)
  • 原文地址:https://www.cnblogs.com/rogerwu/p/9584941.html
Copyright © 2011-2022 走看看