transform的基础使用

目录

介绍      

常用函数

        rotate代码

        skew代码     

        skewX代码

        skewY代码

        scanle代码

        scaleX代码

        scaleY代码

        translate代码

        translateX

​        translateY代码

​        matrix代码


介绍      

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

        transform属性的基础语法如下:

        transform:none transform-functions

        在上述语法中,transform属性的默认值是none,适用于内联元素和块元素,表示不会进行变形。transform-functions用于变形函数,可以是一个或是多个变形函数列表。

常用函数

函数名描述参数说明
rotate(angel)旋转元素angle是度数值,代表旋转角度
skew(x-angel,y-angel)倾斜元素angle是倾斜角度,代表倾斜角度
skewX(angel)沿x轴倾斜元素angle是倾斜角度,代表倾斜角度
skewY(angel)沿y轴倾斜元素angle是倾斜角度,代表倾斜角度
scale(x,y)缩放元素,改变元素的高度和宽度代表缩放比例,取数包括正数,负数和小数
scaleX(x)改变元素宽度代表缩放比例,取数包括正数,负数和小数
scaleY(y)改变元素高度代表缩放比例,取数包括正数,负数和小数
translate(x,y)移动元素对象,基于x和y坐标重新定位元素元素移动的数值,x代表左右方向,y代表上下方向,向左和向上用负。
translateX(x)沿着x轴移动元素元素移动的数值
translateY(y)沿着y轴移动元素

元素移动的数值

matrix(n,n,n,n,n,n)2D转换矩阵使用六个值的表示变形,所有变形的本质都是由矩阵完成的。

        rotate代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #box{
            width: 100px;
            height: 100px;
            left: 500px;
            top: 500px;
            background: black;
            /*transform代码使用*/
            position: absolute;
            transform: rotate(150deg);
        }
    </style>
</head>
<body>
<div id="box"></div>
</body>
</html>

正常的

        skew代码     

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #box{
            width: 100px;
            height: 100px;
            position: absolute;
            left: 500px;
            top: 500px;
            background: black;


            transform: skew(10deg,0deg);
        }
    </style>
</head>
<body>
<div id="box"></div>
</body>
</html>

正常的

        skewX代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #box{
            width: 100px;
            height: 100px;
            position: absolute;
            left: 500px;
            top: 500px;
            background: black;

            transform: skewX(-30deg);
        }
    </style>
</head>
<body>
<div id="box"></div>
</body>
</html>

 正常的

        skewY代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #box{
            width: 100px;
            height: 100px;
            position: absolute;
            left: 500px;
            top: 500px;
            background: black;

            transform: skewY(30deg);
        }
    </style>
</head>
<body>
<div id="box"></div>
</body>
</html>

 正常的

        scanle代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #box{
            width: 100px;
            height: 100px;
            position: absolute;
            left: 500px;
            top: 500px;
            background: black;

            transform: scale(1,2);
        }
    </style>
</head>
<body>
<div id="box"></div>
</body>
</html>

        scaleX代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #box{
            width: 100px;
            height: 100px;
            position: absolute;
            left: 500px;
            top: 500px;
            background: black;

            transform: scaleX(2);
        }
    </style>
</head>
<body>
<div id="box"></div>
</body>
</html>

        scaleY代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #box{
            width: 100px;
            height: 100px;
            position: absolute;
            left: 500px;
            top: 500px;
            background: black;

            transform: scaleY(2);
        }
    </style>
</head>
<body>
<div id="box"></div>
</body>
</html>

        translate代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #box{
            width: 100px;
            height: 100px;
            position: absolute;
            left: 0px;
            top: 0px;
            background: black;

            transform: translate(100px,100px);
        }
    </style>
</head>
<body>
<div id="box"></div>
</body>
</html>

 

正常的

        translateX

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #box{
            width: 100px;
            height: 100px;
            position: absolute;
            left: 0px;
            top: 0px;
            background: black;

            transform: translateX(100px);
        }
    </style>
</head>
<body>
<div id="box"></div>
</body>
</html>

正常的

        translateY代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #box{
            width: 100px;
            height: 100px;
            position: absolute;
            left: 0px;
            top: 0px;
            background: black;

            transform: translateY(100px);
        }
    </style>
</head>
<body>
<div id="box"></div>
</body>
</html>

 

正常的

       matrix代码

        简单的解析:

        matrix(a,b,c,d,e,f),算了太多了,我给链接给你们看吧

        讲的原理很好的:https://www.zhangxinxu.com/wordpress/2012/06/css3-transform-matrix-%e7%9f%a9%e9%98%b5/https://www.zhangxinxu.com/wordpress/2012/06/css3-transform-matrix-%E7%9F%A9%E9%98%B5/

        直接方便运用的:
https://www.jianshu.com/p/956d54376338https://www.jianshu.com/p/956d54376338

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #box{
            width: 100px;
            height: 100px;
            position: absolute;
            left: 100px;
            top: 100px;
            background: black;
            /*这只是其中一种,就是保持x不变,y变大两倍*/
            transform: matrix(1,0,0,2,0,0);
        }
    </style>
</head>
<body>
<div id="box"></div>
</body>
</html>

 

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值