美文网首页
CSS3 2D转换

CSS3 2D转换

作者: LorenSLJ | 来源:发表于2018-11-04 21:52 被阅读0次

    通过 CSS3 转换,我们能够对元素进行移动、缩放、转动、拉长或拉伸。

    什么叫转换?

    转换是使元素改变形状、尺寸和位置的一种效果。可以使用 2D 或 3D 转换来转换您的元素。

    transform 属性

    Internet Explorer 10、Firefox、Opera 支持 transform 属性。
    Internet Explorer 9 支持替代的 -ms-transform 属性(仅适用于 2D 转换)。
    Safari 和 Chrome 支持替代的 -webkit-transform 属性(3D 和 2D 转换)。
    Opera 只支持 2D 转换。

    定义和用法

    transform 属性向元素应用 2D 或 3D 转换。该属性允许我们对元素进行旋转、缩放、移动或倾斜。

    语法

    transform: none|transform-functions;
    
    描述
    none 定义不进行转换。
    matrix(n,n,n,n,n,n) 定义 2D 转换,使用六个值的矩阵。
    translate(x,y) 定义 2D 转换。
    translateX(x) 定义转换,只是用 X 轴的值。
    translateY(y) 定义转换,只是用 Y 轴的值。
    scale(x,y) 定义 2D 缩放转换。
    scaleX(x) 通过设置 X 轴的值来定义缩放转换。
    scaleY(y) 通过设置 Y 轴的值来定义缩放转换。
    rotate(angle) 定义 2D 旋转,在参数中规定角度。
    rotateX(angle) 定义沿着 X 轴的 3D 旋转。
    rotateY(angle) 定义沿着 Y 轴的 3D 旋转。
    skew(x-angle,y-angle) 定义沿着 X 和 Y 轴的 2D 倾斜转换。
    skewX(angle) 定义沿着 X 轴的 2D 倾斜转换。

    transform-origin 属性

    Internet Explorer 10、Firefox、Opera 支持 transform-origin 属性。
    Internet Explorer 9 支持替代的 -ms-transform-origin 属性(仅适用于 2D 转换)。
    Safari 和 Chrome 支持替代的 -webkit-transform-origin 属性(3D 和 2D 转换)。
    Opera 只支持 2D 转换。

    定义和用法

    transform-origin 属性允许您改变被转换元素的位置。
    2D 转换元素能够改变元素 x 和 y 轴。3D 转换元素还能改变其 Z 轴。
    注释:该属性必须与 transform属性一同使用。
    transform-origin 2D例子
    transform-origin 3D例子

    语法

    transform-origin: x-axis y-axis z-axis;
    
    描述
    x-axis 定义视图被置于 X 轴的何处。可能的值:left center right length %
    y-axis 定义视图被置于 Y 轴的何处。可能的值:top center bottom length %
    z-axis 定义视图被置于 Z 轴的何处。可能的值:length

    默认值:50% 50% 0

    translate() 方法

    通过 translate() 方法,元素从其当前位置移动,根据给定的 left(x 坐标) 和 top(y 坐标) 位置参数:

    div {
        transform: translate(50px,100px);
        -ms-transform: translate(50px,100px);       /* IE 9 */
        -webkit-transform: translate(50px,100px);   /* Safari and Chrome */
        -o-transform: translate(50px,100px);        /* Opera */
        -moz-transform: translate(50px,100px);      /* Firefox */
    }
    

    值 translate(50px,100px) 把元素从左侧移动 50 像素,从顶端移动 100 像素。
    点击测试

    rotate() 方法

    通过 rotate() 方法,元素顺时针旋转给定的角度。允许负值,元素将逆时针旋转。

    div {
        transform: rotate(30deg);
        -ms-transform: rotate(30deg);       /* IE 9 */
        -webkit-transform: rotate(30deg);   /* Safari and Chrome */
        -o-transform: rotate(30deg);        /* Opera */
        -moz-transform: rotate(30deg);      /* Firefox */
    }
    

    值 rotate(30deg) 把元素顺时针旋转 30 度。
    点击测试

    scale() 方法

    通过 scale() 方法,元素的尺寸会增加或减少,根据给定的宽度(X 轴)和高度(Y 轴)参数:

    div {
        transform: scale(2,4);
        -ms-transform: scale(2,4);  /* IE 9 */
        -webkit-transform: scale(2,4);  /* Safari 和 Chrome */
        -o-transform: scale(2,4);   /* Opera */
        -moz-transform: scale(2,4); /* Firefox */
    }
    

    值 scale(2,4) 把宽度转换为原始尺寸的 2 倍,把高度转换为原始高度的 4 倍。
    点击测试

    skew() 方法

    通过 skew() 方法,元素翻转给定的角度,根据给定的水平线(X 轴)和垂直线(Y 轴)参数:

    div {
        transform: skew(30deg,20deg);
        -ms-transform: skew(30deg,20deg);   /* IE 9 */
        -webkit-transform: skew(30deg,20deg);   /* Safari and Chrome */
        -o-transform: skew(30deg,20deg);    /* Opera */
        -moz-transform: skew(30deg,20deg);  /* Firefox */
    }
    

    值 skew(30deg,20deg) 围绕 X 轴把元素翻转 30 度,围绕 Y 轴翻转 20 度。
    点击测试

    matrix() 方法

    matrix() 方法把所有 2D 转换方法组合在一起。
    matrix() 方法需要六个参数,包含数学函数,允许您:旋转、缩放、移动以及倾斜元素。

    div {
        transform:matrix(0.866,0.5,-0.5,0.866,0,0);
        -ms-transform:matrix(0.866,0.5,-0.5,0.866,0,0);     /* IE 9 */
        -moz-transform:matrix(0.866,0.5,-0.5,0.866,0,0);    /* Firefox */
        -webkit-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* Safari and Chrome */
        -o-transform:matrix(0.866,0.5,-0.5,0.866,0,0);      /* Opera */
    }
    

    点击测试

    相关文章

      网友评论

          本文标题:CSS3 2D转换

          本文链接:https://www.haomeiwen.com/subject/ygvdxqtx.html