CSS—动画之transform

目录

一、概述

二、详解


一、概述

transform是CSS3新增加的属性,主要控制元素变形,没有一个时间控制的概念。

二、详解

旋转

transform:rotate(xxxdeg); //使元素旋转多少度,正数为顺时针旋转多少度, 负数为逆时针旋转多少度
<style>
    div {
        width: 200px;
        height: 200px;
        position: absolute;
        top: 50%;
        margin-top: -100px;
        left: 50%;
        margin-left: -100px;
        background-color: red;
        transform: rotate(45deg); /*顺时针旋转45度*/
        -moz-transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
    }
</style>
<div></div>

 

缩放

transform: scale(xxx); // 表示水平和垂直同时缩放多少倍
transform: scale(xxx,xxx); // 表示水平和垂直各缩放多少倍
transform: scaleX(xxx); // x轴缩放多少倍
transform: scaleY(xxx); // y轴缩放多少倍
<style>
    div {
        width: 200px;
        height: 200px;
        position: absolute;
        top: 50%;
        margin-top: -100px;
        left: 50%;
        margin-left: -100px;
        background-color: red;
    }
        
    div::after {
        content: "";
        display: block;
        width: 200px;
        height: 200px;
        background: red;
        transform: scale(1);
        -moz-transform: scale(1);
        -webkit-transform: scale(1);
        -o-transform: scale(1);
        -ms-transform: scale(1);
        transition: all 1s;
        -moz-transition: all 1s;
        -webkit-transition: all 1s;
        -o-transition: all 1s;
        -ms-transition: all 1s;
    }
        
    div:hover::after {
        transform: scale(2);
        transition: all 1s;
    }
</style>
<div></div>

倾斜

transform: skew(xxxdeg); // 表示水平方向倾斜多少度
transform: skew(xxxdeg, xxxdeg); // 表示水平和垂直方向各倾斜多少度
transform: skewX(xxxdeg); // x轴旋转多少度
transform: skewY(xxxdeg); // Y轴旋转多少度
<style>
    div {
        width: 200px;
        height: 200px;
        position: absolute;
        top: 50%;
        margin-top: -100px;
        left: 50%;
        margin-left: -100px;
        background-color: red;
        -moz-transform: skew(45deg); 
        -webkit-transform: skew(45deg); 
        -o-transform: skew(45deg); 
        -ms-transform: skew(45deg); 
        transform: skew(45deg); 
    }
</style>
<div></div>

移动

transform: translate(xxxpx);        // 表示水平方向移动的距离
transform: translate(xxxpx, xxxpx); // 表示水平、垂直方向移动的距离
/*常用于水平垂直居中*/
div{
    position: absolute;
    top:50%;
    left:50%;
    -moz-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    -o-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}

基准点

transform-origin属性用来设置元素运动的基准点(参照点),默认为元素的中心点。

transform-origin: x-axis y-axis; 

// x-axis: left/center/right/length/%
// y-axis: top/center/bottom/length/%
// right bottom=> 100% 100%
// left top => 0% 0%
发布了223 篇原创文章 · 获赞 82 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_42472040/article/details/103987935