CSS3动画相关属性详解

本章,我们主要介绍,项目中我们常用,或网页上常见到的一些CSS3效果属性。
以前,我们做一些页面动画效果,是通过JS来完成的,但是JS实现一些动画并不方便,代码量增加,动画效果不稳定等情况困扰着我们。
一般来说,我把2D属性称为平面属性,3D属性,称为立体属性。
为了方便下面的属性描述,我们把应用其属性的元素,简称为项目。

一、2D效果属性

要使用这些属性,我们需要通过 transform ,并且,为了保证兼容性,我们可能还需要添加带有浏览器内核前缀的属性,比如 -webkit-transform

1、位移属性 translate( x , y )

简单来说,我们可以认为项目处于一个XY坐标轴的原点,translate( x , y ),当x为正的时候,则项目水平(x轴)向右移动[x]距离;负则向左移动[x]距离。y为正的时候,则项目垂直(y轴)向下移动[y],反之向上移动。
当然,我们也可以把该属性,拆分为translateX(n),和translateY(n),原理相同,不过一般我们还是推荐综合的写法。

这里写图片描述

代码片段


.box01{
    background: rgba(7,204,63,0.9);
}
.box02{
    background: rgba(7,204,63,0.6);
    transform: translate(100px,100px);
}
.box03{
    background: rgba(7,204,63,0.6);
    transform: translate(-100px,-100px);
}
.box04{
    background: rgba(7,204,63,0.3);
    transform: translateX(-300px);
}

2、旋转属性 rotate()

这个属性也很简单,比如rotate( n deg),n是数字,deg是单位,我们可以理解为角度,0deg则不旋转。n为正时,顺时针旋转n度,反之,逆时针旋转。
而rotateX和rotateY属性,则可以归纳如3D立体效果的范畴,我们在下面再说。

这里写图片描述

.box01{
    background: rgba(7,204,63,0.6);
    transform: translate(-200px,0) rotate(-90deg);
}
.box02{
    background: rgba(7,204,63,0.9);
}
.box03{
    background: rgba(7,204,63,0.6);
    transform: translate(200px,0) rotate(45deg);
}

3、缩放属性 scale()

scale( x , y ),width为原有的值的 x 倍,height为原有的值的 y 倍。

这里写图片描述

.box01{
    background: rgba(7,204,63,0.9);
}
.box02{
    background: rgba(7,204,63,0.6);
    transform: scale(1.5,0.5);
}
.box03{
    background: 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值