CSS的补充(3 空间转换 动画)
一.空间转换
属性
transform
语法
transform:translate3d(x,y,z)
透视 属性
perspective(添加给父级)视距,指人眼到屏幕的距离
取值
像素单位,数一般在800-1200
空间旋转(绕各个坐标轴转)
transform:rotateZ(值)
transform:rotateX(值)
transform:rotateY(值)
立体呈现
transform-style:preserve-3d;
使子集处于真正的3d空间
默认flat,表示子元素处于2d空间
旋转的盒子(案例)
先定位到一起,然后把后面的
transform:rotateX(90deg)
,再transform:rotateZ(25px)
因为Z轴是视线方向,只有俯视看才能看到,所以要把橙色盒子向上移动,需要调整Z轴
最后再把绿盒子transform:rotateX(-90deg)
然后整体hover时把绿、橙两盒子都transform:rotateX(-90deg)
html:
<div class="box"><ul><li> <a href="">首页</a> <a href="">index</a></li><li> <a href="">登录</a> <a href="">login</a></li><li> <a href="">注册</a> <a href="">register</a></li></ul></div>
css:
*{margin: 0;padding: 0;}li{list-style: none;}.box{width: 300px;margin: 50px auto;position: relative;/* */}a{text-decoration: none;color: #fff;}.box li{float: left;position: relative;background-color: green;width: 100px;height: 50px;text-align: center;line-height: 50px;font-size: 18px;transform-style: preserve-3d;transition: all .2s;}.box li a{position:absolute;display: block;width: 100px;height: 50px;}.box li a:first-child{transform: translateZ(25px);}.box li a:last-child{background-color: orange;transform: rotateX(90deg) translate3d(0,0,25px);}.box li:hover{transform: rotateX(-90deg);}
空间缩放
transform:scaleX\Y\Z(倍数)
二.动画
多个状态的变化过程用动画,动画过程可控。
实现:1、定义动画 2、使用动画
1.定义动画
@keyframes 名字{from{}to{}
}
第二种多个状态时
@keyframes name{xx%xx%xx%
}
2.使用动画
animation:动画名+时间;
放在需要用动画的标签里。
动画属性
animation:名字 动画时长 速度曲线 延迟时间 重复次数 动画方向 执行完毕时状态
速度曲线:
- 1.linear 匀速
- 2.steps(数字):把动画分成几步完成
延迟时间
- 让动画等一会再执行
重复次数
- 数字 表示重复几次
- 无限循环 infinite
动画方向
- alternate 反复
执行结束时状态
- backwards 动画停留在开始状态 默认值
- forwards 动画停留在结束时的状态
精灵动画
1.盒子的尺寸是每一张精灵小图的尺寸
2.改变背景图的位置
3.steps(精灵小图的个数)
!动画开始状态和盒子默认样式相同时,可以省略动画的开始状态
走马灯
把最初显示的图片粘贴在整张图最后,等转到最后时再从头再来。
整个图片一起挪,挪父级ul。注意ul的尺寸和挪动的距离。
案例
全民出游
1.如果图的高度没有浏览器高度
html{height:100%;
}
body{height:100%;background-size:cover;//cover完全覆盖 contain当宽或高和盒子一边大了 剩下那个就不再缩放了
}
代码
css
*{margin: 0;padding: 0;
}
html{height: 100%;
}
body{position: relative;height: 100%;background: url(./images/f1_1.jpg) no-repeat center 0;background-size: cover;
}
.cloud{animation: cloud 2s infinite linear forwards alternate;
}
.cloud img:nth-child(1){position: absolute;top: 20px;left: 800px;
}
.cloud img:nth-child(2){position: absolute;top: 100px;left: 1400px;
}
.cloud img:nth-child(3){position: absolute;top: 200px;left: 400px;
}
.balloon{animation: balloon 2s infinite linear forwards alternate;
}
.balloon img{position: absolute;top: 200px;left: 600px;
}
.deer img{position: absolute;top: 200px;left: 1050px;
}
.label img:nth-child(1){position: absolute;top: 780px;left: 482px;animation: label .5s infinite linear forwards alternate;
}
.label img:nth-child(2){position: absolute;top: 780px;left: 820px;animation: label .5s infinite .1s linear forwards alternate;
}
.label img:nth-child(3){position: absolute;top: 780px;left: 1160px;animation: label .5s infinite .2s linear forwards alternate;
}
.label img:nth-child(4){position: absolute;top: 780px;left: 1495px;animation: label .5s infinite .3s linear forwards alternate;
}
@keyframes cloud{to{transform: translateX(20px);}
}
@keyframes balloon{to{transform: translateY(-50px);}
}
@keyframes label{to{transform: translateY(-20px);}
}
HTML
<!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><link rel="stylesheet" href="./index.css">
</head>
<body><!-- 云 --><div class="cloud"><img src="./images/yun1.png" alt=""><img src="./images/yun2.png" alt=""><img src="./images/yun3.png" alt=""></div><div class="balloon"><img src="./images/san.png" alt=""></div><div class="deer"><img src="./images/lu.png" alt=""></div><div class="label"><img src="./images/1.png" alt=""><img src="./images/2.png" alt=""><img src="./images/3.png" alt=""><img src="./images/4.png" alt=""></div>
</body>
</html>
CSS的补充(3 空间转换 动画)相关推荐
- 2.css动画(空间转换,动画)
1空间转换 使用transform属性实现元素在空间内的位移.旋转.缩放等效果 空间:是从坐标轴角度定义的.x .y 和z三条坐标轴构成了一个立体空间,z轴位置与视线方向相同. 空间转换也叫3D转换 ...
- 【CSS3】 平面转换 空间转换 动画
目录 平面转换 平移 缩放 倾斜 旋转 transform复合属性 空间转换 空间位移 空间旋转 呈现立体图形 空间缩放 动画 动画属性 steps逐帧动画 多组动画 平面转换 CSS3中动画效果包括 ...
- CSS高级功能—3D空间转换(位移、透视、空间旋转)—3D导航—3D缩放
一.空间(3D)转换 目标:使用transform属性实现元素在空间内的位移.旋转.缩放等效果. 属性:transform (1)位移效果(Z轴方向需要配合perspective透视使用) 空间位移的 ...
- CSS技巧:背景图转换动画
主要借助了 mask-image,一张图片上应用 mask-image: linear-gradient(0, rgba(0, 0, 0,1) 40%, transparent 60%);,透明的部分 ...
- CSS 空间转换3D和动画
空间转换3D 3D坐标系 一定要记住3个坐标轴取值的正反: X 轴 往右越大,是正值, 否则反之 Y 轴 往下越大,是正值,否则反之 Z轴 (指向我们)越大,是正值,否则反之 3D位移 完整写法 tr ...
- CSS空间转换和动画
一.空间转换 3D 3D坐标系 3D 坐标系比2D 多了一个Z轴. 一定要记住3个坐标轴取值的正反: X 轴 往右越大,是正值, 否则反之 Y 轴 往下越大,是正值,否则反之 Z轴 (指向我们)越大, ...
- CSS——空间转换 和 动画
一.空间转换 空间:x.y.z三个坐标轴,z轴和用户的视线在一条直线上,z轴的正轴指向用户自己:空间转换也叫3D转换:(不是网页开发重点.因为目前设计师追求简洁风,空间转换用得少) 属性:transf ...
- 浅学一点空间转换3D和动画知识
一 . 空间转换3D 3D坐标系 3D坐标系比2D多了一个Z轴. 一定要记住3个坐标轴取值的正反: X 轴 往右越大,是正值, 否则反之 Y 轴 往下越大,是正值,否则反之 Z轴 (指向我们)越大,是 ...
- CSS转换动画与移动web
CSS转换与移动web 一.课前导学 1.阶段目标: 使用字体图标.平面转换.动画等C3属性丰富网页效果和呈现方式 2.CSS3 目标:使用平面.空间转换和动画属性,丰富网页元素 3.Flex 了解移 ...
最新文章
- Jboot 2.0.1 发布,新增基于 Fescar 的分布式事务支持
- python 钩子函数的使用
- Java后端WebSocket的Tomcat实现(转载)
- C#-集合练习 107
- C#中如何复制窗体到另一个项目
- 589-N叉树的前序遍历
- 惠新宸php教程_惠新宸:首位国人加入PHP语言官方开发组
- JMeter场景设置与监控
- Python 核心编程(第二版)——条件和循环
- oracle PL/SQL编程基础
- 最大子段和问题——详解(C++)
- hive-0.11.0安装方法具体解释
- ODAC (V9.5.15) 学习笔记(二十一)数据复制
- php的变量引用与销毁机制
- 谈谈以前那位研发总监错在哪里
- edius裁剪快捷键_edius常用的快捷键有哪些-怎么设置快捷键-edius快捷键使用大全...
- 根据银行卡号查询银行名接口目前免费阿里接口
- 135编辑器代码是html吗,不会代码,你也能做背景样式!!!
- wed是什么意思在计算机应用基础中,卡西欧wed什么意思
- python+opencv读取文件夹图片并保存