2D旋转transform

4 篇文章 0 订阅

5.1 transform转换

5.1.1 translate(x,y) 位移

可以改变元素在页面中的位置,类似定位。

经常和transition过渡配合做出相对应的效果。

补充:

现在可以将盒子移动的方式有哪些?

  • 定位 (相对定位不会影响其他盒子的位置)

  • 外边距(margin)

  • 2D转换

    • 区别:和以上两种方式不同的是,2D转换不会影响其他盒子的位置(可以和position组合进行盒子垂直居中定位,下面有案例)
  1. 语法

transform: translate(x , y);

transform: translate(100px,30px);

  1. 要点

    • x 代表横向移动的距离,y代表纵向移动的距离

    • 优点:不会影响其他盒子的位置。

    • 使用百分比% 是 根据自身宽高进行移动,则移动自身宽高的一半。transform:translate(50%,50%);

    • 对行内标签没有作用
案例(盒子垂直居中):
<style>
    * {
        margin: 0;
        padding: 0;
    }
	 .box3 {
            position: relative;
            width: 300px;
            height: 300px;
            background-color: rgb(238, 206, 169);
        }
        
        .center {
            position: absolute;
            width: 50px;
            height: 50px;
            top: 50%;
            left: 50%;
            /*
            还有一种方式进行外边距使内部盒子移到中央
            margin-top: -25px;
            margin-left: -25px;
            */
            
            /*
            translate和margin不同的是,translate不管怎么改变盒子的大小,
            都会水平垂直居中。
            */
            transform: translate(-50%, -50%);
            background-color: rgb(142, 207, 67);
        }
</style>
<body>
    <div class="box3">
        <div class="center"></div>
    </div>
</body>

5.1.2 rotate()旋转

将元素在2维平面内进行顺时针或者逆时针进行旋转

语法:

transform: rotate(30deg);

要点:

  • 单位为 deg ,意为度数。
  • 角度为正时,顺时针;负时,逆时针。
  • 默认旋转中心为 旋转元素的中心。

5.1.3 translate-origin转换中心点

设置旋转元素的中心点

语法:
translate-origin:x y;

要点:

  • 默认的是50% 50%,即元素的中央
  • 中间没有逗号,用空格隔开
  • 可以设置像素 或者 方位名词 (left center bottom …)

5.1.4 scale(x,y) 缩放

控制元素的放大和缩小

语法:

transform: scale(x , y);

要点:

  • 里面的数字不跟单位,即倍数的意思,1倍就是其本身的大小,2倍就是其宽高的2倍
  • 优点:缩放盒子不会影响其他盒子的大小,而且可以进行缩放的中心点
  • transform: scale(2):相当于transform: scale(2,2)

5.1.5 综合写法

transform: translate(x,y) rotate() scale(x,y);

注意

  1. 转换时有顺序之分。

  2. 有位移和其他属性的时候,一定要先将位移放在最前面,在x,y轴上先移动在旋转。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值