transform的使用方法

transform的含义是:改变,使…变形;转换

在排版当中去合理的使用transform会使我们的排版看起来高大上那么一点。
接下来给大家介绍一下这个神奇的小东西都有什么属性会有什么效果。

1.旋转rotate

rotate:通过指定的角度参数对原元素指定一个效果。
如果设置的值为正数表示顺时针旋转,如果设置的值为负数,则表示逆时针旋转。如:transform:rotate(30deg);

image-20200803155143384

2.移动translate

translate() 根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素位置移动。

如:transform:translate(100px,20px):

image-20200803155216425

translateX
通过给定一个X方向上的数目指定一个translation。只向x轴进行移动元素,同样其基点是元素中心点,也可以根据transform-origin改变基点位置
transform:translateX(100px):

image-20200803155241091

translateY
通过给定Y方向的数目指定一个translation。只向Y轴进行移动,基点在元素心点,可以通过transform-origin改变基点位置。
transform:translateY(20px):

image-20200803155313026

3.缩放scale

缩放scale和移动translate是有点相似的,也是有三种情况:下面我们具体来看看这三种情况具体使用方法:
注意:默认值是1,它的值放大是比1大,缩小比1小。
1、scale(x,y) 定义 2D 缩放转换,改变元素的宽度和高度。

如:transform:scale(2,1.5);

image-20200803155332956

2、scaleX(n) 定义 2D 缩放转换,改变元素的宽度。

如:transform:scaleX(2):

image-20200803155351125

3、scaleY(n) 定义 2D 缩放转换,改变元素的高度。

如:transform:scaleY(2):

image-20200803155408877

4.扭曲skew

1、skew(x-angle,y-angle) 定义 2D 倾斜转换,沿着 X 和 Y 轴。

如:transform:skew(30deg,10deg);

image-20200803155433112

image

2、skewX(angle) 定义 2D 倾斜转换,沿着 X 轴。

如:transform:skewX(30deg);

image-20200803155514487

3、skewY(angle) 定义 2D 倾斜转换,沿着 Y 轴。

如:transform:skewY(10deg);

image-20200803155539603

matrix(, , , , , ) : 以一个含六值的(a,b,c,d,e,f)变换矩阵的形式指定一个2D变换,相当于直接应用一个[a b c d e f]变换矩阵。就是基于水平方向(X轴)和垂直方向(Y轴)重新定位元素,此属性值使用涉及到数学中的矩阵。
改变元素基点 tranform-origin

改变元素基点transform-origin

前面我们多次提到transform-origin这个东东,他的主要作用就是让我们在进行transform动作之前可以改变元素的基点位置,因为我们元素默认基点就是其中心位置,换句话说我们没有使用transform-origin改变元素基点位置的情况下,transform进行的rotate,translate,scale,skew,matrix等操作都是以元素自己中心位置进行变化的。但有时候我们需要在不同的位置对元素进行这些操作,那么我们就可以使用transform-origin来对元素进行基点位置改变,使元素基点不在是中心位置,以达到你需要的基点位置。下面我们主要来看看其使用规则:

transform-origin(X,Y):用来设置元素的运动的基点(参照点)。默认点是元素的中心点。其中X和Y的值可以是百分值,em,px,其中X也可以是字符参数值left,center,right;Y和X一样除了百分值外还可以设置字符值top,center,bottom,这个看上去有点像我们background-position设置一样;下面我列出他们相对应的写法:

1、top left | left top 等价于 0 0 | 0% 0%

2、top | top center | center top 等价于 50% 0

3、right top | top right 等价于 100% 0

4、left | left center | center left 等价于 0 50% | 0% 50%

5、center | center center 等价于 50% 50%(默认值)

6、right | right center | center right 等价于 100% 50%

7、bottom left | left bottom 等价于 0 100% | 0% 100%

8、bottom | bottom center | center bottom 等价于 50% 100%

9、bottom right | right bottom 等价于 100% 100%

其中 left,center right是水平方向取值,对应的百分值为left=0%;center=50%;right=100%而top center bottom是垂直方向的取值,其中top=0%;center=50%;bottom=100%;如果只取一个值,表示垂直方向值不变,我们分别来看看以下几个实例

(1)transform-origin:(left,top):

image-20200803160951146

(2)transform-origin:right

image-20200803161008291

(3)transform-origin(25%,75%)

image-20200803161023522

posted @ 2020-08-03 16:13  五公子说  阅读(1486)  评论(0编辑  收藏  举报