CSS动画之转换模块
2D转换模块:注意点:1.可以类似于过渡模块一样简写,但是这里不是用逗号隔开而是用空格
2.2D的转换模块会修改元素的坐标系,所以旋转之后的平移就不是水平平移
格式:旋转:transform: rotate(30deg)旋转角度
平移:transform: translate(50px,100px);平移的坐标系
缩放:transform: scale(2,4);缩放的倍数
翻转:transform: skew(30deg,20deg);沿x轴y轴旋转的角度
矩阵:transform:matrix(0.866,0.5,-0.5,0.866,0,0);使用六个值的矩阵。达到以上所有功能
综合:transform: rotate(30deg) translate(50px,10px) scale(2,4) skew(30deg,30deg);用空格隔开
形变中心点:transform-origin:50% 50% 可以用百分比,像素,特殊关键字,默认旋转是通过自己的中心点做参考,可以通过修改形变中心点来改变旋转
旋转轴向:transform:rotateX(45deg);transform:rotateY(45deg);transform:rotateZ(45deg);一般默认旋转是垂直桌面的Z轴旋转的
透视属性:perspective:500px 近大远小(一般结合旋转轴向来看,更加直观)值是距离物体的多远
注意点:一定要把透视属性设置到你要观察的元素的父元素(上级就行,设置给它爷爷也行)上面!!!!!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>2D转换</title>
<style>
*{
padding: 0;
margin: 0;
}
ul{
list-style: none;
width: 800px;
height: 800px;
background-color: #5bc0de;
margin: 0 auto;
}
li{
width: 60px;
height: 50px;
background-color: yellow;
margin: 0 auto;
margin-bottom: 100px;
text-align: center;
line-height: 50px; }
.box2{
transform: rotate(30deg);
}
.box3{
transform: translate(50px,10px);
}
.box4{
transform: scale(2,4);
}
.box5{
transform: skew(30deg,30deg);
}
.box6{
transform: rotate(30deg) translate(50px,10px) scale(2,4) skew(30deg,30deg);
} </style>
</head>
<body> <ul>
<li class="box1">正常</li>
<li class="box2">旋转</li>
<li class="box3">平移</li>
<li class="box4">缩放</li>
<li class="box5">翻转</li>
<li class="box6">综合</li>
</ul>
</body>
</html>
1.2D和3D的区别:2D就是没有厚度只有宽高,3D就是除了宽高还加了厚度
默认情况下所有的元素都是2D元素
2.如何呈现3D:类似于透视,给其父元素添加transform-style:preserve-3d就行
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <title>3D转换</title>
6 <style>
7 *{
8 padding: 0;
9 margin: 0;
10 }
11 .father{
12 background-color:skyblue;
13 width: 200px;
14 height: 200px;
15 margin: 100px auto;
16 perspective: 500px;
17 transform: rotateY(0deg);
18 transform-style: preserve-3d;
19 }
20 .son{
21 background-color: red;
22 width: 100px;
23 height: 100px;
24 margin: 20px auto;
25 transform: rotateY(45deg);
26 }
27 </style>
28 </head>
29 <body>
30 <div class="father">
31 <div class="son"></div>
32 </div>
33 </body>
34 </html>
CSS动画之转换模块的更多相关文章
- 梅须逊雪三分白,雪却输梅一段香——CSS动画与JavaScript动画
CSS动画并不是绝对比JavaScript动画性能更优越,开源动画库Velocity.js等就展现了强劲的性能. 一.两者的主要区别 先开门见山的说说两者之间的区别. 1)CSS动画: 基于CSS的动 ...
- Css 动画的回调
在做项目中经常会遇到使用动画的情况.以前的情况是用js写动画,利用setTimeout函数或者window.requestAnimationFrame()实现目标元素的动画效果.虽然后者解决了刷新频率 ...
- 【译】css动画里的steps()用法详解
原文地址:http://designmodo.com/steps-c... 原文作者:Joni Trythall 我想你在css 动画里使用steps()会和我一样有很多困惑.一开始我不清楚怎样使用它 ...
- css动画属性性能
性能主要表现:流量.功耗与流畅度 在现有的前端动画体系中,通常有两种模式:JS动画与CSS3动画. JS动画是通过JS动态改写样式实现动画能力的一种方案,在PC端兼容低端浏览器中不失为一种推荐方案. ...
- Css动画形式弹出遮罩层,内容区上下左右居中于不定宽高的容器中
<!DOCTYPE html> <html> <head> </head> <body id="body"> <! ...
- css动画与js动画的区别
CSS动画 优点: (1)浏览器可以对动画进行优化. 1. 浏览器使用与 requestAnimationFrame 类似的机制,requestAnimationFrame比起setTimeout ...
- CSS动画与GPU
写在前面 满世界的动画性能优化技巧,例如: 只允许改变transform.opacity,其它属性不要动,避免重新计算布局(reflow) 对动画元素应用transform: translate3d( ...
- 15个来自 CodePen 的酷炫 CSS 动画效果【下篇】
CodePen 是一个在线的前端代码编辑和展示网站,能够编写代码并即时预览效果.你在上面可以在线分享自己的 Web 作品,也可以欣赏到世界各地的优秀开发者在网页中实现的各种令人惊奇的效果. 今天这篇文 ...
- 赞!15个来自 CodePen 的酷炫 CSS 动画效果
CodePen 是一个在线的前端代码编辑和展示网站,能够编写代码并即时预览效果.你在上面可以在线分享自己的 Web 作品,也可以欣赏到世界各地的优秀开发者在网页中实现的各种令人惊奇的效果. 今天这篇文 ...
随机推荐
- mysqldump 5.7
简介 mysqldump是官方自带的文本格式备份工具,简单实用,一般在Mysql安装目录的bin目录下.备份文件默认是SQL格式,它由一系列语句例如CREATE TABLE.INSERT等组成.mys ...
- python下的appium控制andriod按键
今天查看视频的时候,发现不好控制关闭视频,于是就想控制手机的返回按键来达到返回的效果. 找到了一些关于按键的keycode,如下: KEYCODE_CALL 拨号键 5 KEYCODE_ENDCALL ...
- 我把这个贼好用的Excel导出工具开源了!!
写在前面 不管是传统软件企业还是互联网企业,不管是管理软件还是面向C端的互联网应用.都不可避免的会涉及到报表操作,而对于报表业务来说,一个很重要的功能就是将数据导出到Excel.如果我们在业务代码中, ...
- opencv中namedWindow( )函数
转自:https://blog.csdn.net/fanjiule/article/details/81606596 第一步,功能说明:namedWindow()的功能就是新建一个显示窗口.可以指定窗 ...
- 【题解】[USACO07OPEN]Dining G
\(Link\) \(\text{Solution:}\) 这一题,我们要做到,食物和牛.牛和饮料均为一对一的关系.我们发现这个图不好建立. 经典技巧:将牛拆边,拆成入点和出点,并连容量为\(1\)的 ...
- ASP。使用依赖注入的asp.net Core 2.0用户角色库动态菜单管理
下载source code - 2.2 MB 介绍 在开始这篇文章之前,请阅读我的前一篇文章: 开始使用ASP.NET Core 2.0身份和角色管理 在上一篇文章中,我们详细讨论了如何使用ASP.N ...
- Python中字符串有哪些常用操作?纯干货超详细
- 【linux】基础命令一
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ mount dir[] device[]umount devic[]maste ...
- centos 7.0 更改启动环境/启动进入图形界面/命令行模式
当前我桌面模式 systemctl set-default multi-user.target ln -sf /lib/systemd/system/multi-user.target /etc/sy ...
- Python中列表、元组、字典、集合与字符串,相关函数,持续更新中……
本篇博客为博主第一次学 Python 所做的笔记(希望读者能够少点浮躁,认真阅读,平心静气学习!) 补充: 列表.元组和字符串共同属性: 属于有序序列,其中的元素有严格的先后顺序 都支持双向索引,索引 ...