0
点赞
收藏
分享

微信扫一扫

css3 2D转换

吃面多放酱 2022-01-23 阅读 60

转换(transform)

目录

转换(transform)

作用:可以实现元素的位移旋转缩放等效果

移动:translate

语法格式:

 特点:

应用:让一个盒子水平垂直居中

旋转:rotate

作用:让盒子顺时针或逆时针旋转

语法:        

重点:

设置变换的中心点transform-origin

作用:设置元素的变换中心点

语法:

重点:

缩放:scale

作用:放大缩小

语法

注意

综合写法:

注意:


作用:可以实现元素的位移旋转缩放等效果

  1. 移动:translate
  2. 旋转:rotate
  3. 缩放:scale

移动:translate

语法格式:

            transform: translate(x(px), Y(px));
            transform: translateX(X(px));
            transform: translateY(Y(px));

<style>       
    div {
            width: 200px;
            height: 200px;
            background-color: pink;
            transform: translate(100px, 100px);
            /* transform: translateX(100px);
            transform: translateY(100px); */
        }
    </style>
</head>

<body>
    <div></div>
</body>

<style>       
    div {
            width: 200px;
            height: 200px;
            background-color: pink;
            /*transform: translate(100px, 100px);*/
            transform: translateX(100px);
            /*transform: translateY(100px); */
        }
    </style>
</head>

<body>
    <div></div>
</body>

<style>       
    div {
            width: 200px;
            height: 200px;
            background-color: pink;
            /*transform: translate(100px, 100px);
            transform: translateX(100px);*/
            transform: translateY(100px); 
        }
    </style>
</head>

<body>
    <div></div>
</body>

 特点:

  1. 定义2d转换中的移动,沿着xy轴移动元素
  2. 不会影响到其他元素
  3. translate中的百分比单位,%移动的距离是盒子自身的高度或宽度来对比的;
  4. transform对行内元素无效

应用:让一个盒子水平垂直居中

1.让父盒子添加相对定位

2.给该盒子添加绝对定位

        top:50%;

        left:50%

3.添加transform:tranlatr(-50%,-50%);

旋转:rotate

作用:让盒子顺时针或逆时针旋转

语法:        

transform:rotate(度数)

重点:

1.单位是度数(deg)

        例transform:rotate(45deg)

2.角度正时为顺时针,负数时为逆时针

3.默认旋转中心为元素的中心点

设置变换的中心点transform-origin

作用:设置元素的变换中心点

语法:

transform-origin:x y;

重点:

默认的中心点为(50% 50%)

x  y 可以设置百分比,像素,方位名词(top bottom left center)

缩放:scale

作用:放大缩小

语法

transform:scale(x,y);

注意

1.里面写的是数字,不跟单位是倍数的意思,transform:scale(1,1);就是原大小。

2.等比例缩放可以简写transform:scale(2);等比例缩放2倍

3.与直接修改宽度和高度的优势:不会影响其他的盒子并且可以调整缩放的中心点

综合写法:

transform:translate(50px,50px) rotate(180deg) scale(2)...

注意:

  • 顺序会影响转换的效果(先旋转会改变坐标轴的方向)
  • 同时有位移和其他时,需要把位移放在最前面。
举报

相关推荐

0 条评论