目录
1、2D位移translate
1.1、语法:translate(x y)
-
·注意:x轴正方向是右边;
y轴正方向时下边。
·最大的优势是不影响其他的盒子,里面参数用%时,是相对于自身宽高来计算的。
2、2D转换中心点transform-origin
2.1、语法:transform-origin:x y;
·x y 默认转换的中心点是元素的中心点(50% 50%)
·还可以给x y 设置 像素或者方位名词(top bottom right center)
3、2D转换值缩放 scale
3.1、语法:transform:scale(x,y);
·里面写的是数字也就是倍数 不跟单位;
·简写:里面只写一个数字 默认宽高都放大这个倍数;
·小于1 就是缩放:例如0.5;
·Scale优势(重点):
直接修改盒子的宽高,会影响其他盒子;
而scale不会影响其他盒子,可以设置缩放的中心点。
·2D 转换综合写法:
顺序:顺序会影响转换效果(先旋转会改变坐标轴方向)
当我们同时有位移和其他属性的时候,记得要将位移放到最前面。
Css3动画:
相比过渡,可以实现更多变化,更多控制……
分两步:
1、先定义;
·2、再使用(调用)动画。
1,用Keyframes 定义动画(类似定义类选择器)
@keyframe 动画名称 {
0%{
width:100px;
}
100%{
width:200px;
}
}
动画序列:
- 0%是动画的开始,100%是动画的完成,这样的规则就是动画序列。
- 在@Keyframes中规定某项CSS样式,就能创建有当前样式逐渐改为新样式的动画效果。
- 动画是使元素从一种样式逐渐变化为另一种样式的效果,可以改变任意多的样式次数。
- 用百分比来规划变化发生的时间,或者用关键词“from” 和“to” ,就等同于0% 和100%。
2、元素使用动画。
div {
width: 200px;
height: 200px;
background-color: pink;
/* 2. 调用动画 */
/* 动画名称 */
animation-name: move;
/* 持续时间 */
animation-duration: 2s;
}
例子:简单的盒子移动。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* 我们想页面一打开,一个盒子就从左边走到右边 */
/* 1. 定义动画 */
@keyframes move {
/* 开始状态 */
0% {
transform: translateX(0px);
}
/* 结束状态 */
100% {
transform: translateX(1000px);
}
}
div {
width: 200px;
height: 200px;
background-color: pink;
/* 2. 调用动画 */
/* 动画名称 */
animation-name: move;
/* 持续时间 */
animation-duration: 2s;
}
</style>
</head>
<body>
<div></div>
</html>