css变换与动画详解
举个栗子:
--------元素整体居中
.box{
position:absolute;top:50%;left:50%;
width:50px;
height:50px;
transform:translate(-50%,-50%);
background:gray;
}
1.translate:移动,是transform的一个方法
通过 translate() 方法,元素从其当前位置移动,根据给定的 left(x 坐标) 和 top(y 坐标) 位置参数:
用法transform: translate(50px, 100px);
-ms-transform: translate(50px,100px);
-webkit-transform: translate(50px,100px);
-o-transform: translate(50px,100px);
-moz-transform: translate(50px,100px);
2.transform:变形,改变
CSS3中主要包括:
在CSS3中transform主要包括以下几种:旋转rotate、扭曲skew、缩放scale和移动translate以及矩阵变形matrix。
旋转:rotate() 顺时针旋转给定的角度,允许负值 rotate(30deg)
扭曲:skew() 元素翻转给定的角度,根据给定的水平线(X 轴)和垂直线(Y 轴)参数:skew(30deg,20deg)
缩放:scale() 放大或缩小,根据给定的宽度(X 轴)和高度(Y 轴)参数: scale(2,4)
移动:translate() 平移,传进 x,y值,代表沿x轴和y轴平移的距离
所有的2D转换方法组合在一起: matrix() 旋转、缩放、移动以及倾斜元素
matrix(scale.x ,, , scale.y , translate.x, translate.y)
改变起点位置 transform-origin: bottom left;
transform: rotate 旋转| scale 缩放| skew扭曲 | translate移动 |matrix矩阵变形;
综合起来使用:transform: 30deg 1.5 30deg 20deg 100px 200px;//需要有空格隔开
3.transition: 允许CSS属性值在一定的时间区间内平滑的过渡。(过渡动画)
Transition作用是指定了某一个属性(如width、left、transform等)在两个值之间如何过渡。
如果某一个元素指定了Transiton,那么当其某个属性改变的时候就会按照Transition指定的方式进行过渡,动画就这么产生了。
transition主要包含四个属性值:
(1)执行变换的属性:transition-property;
(2)变换延续的时间:transition-duration;
(3)在延续时间段,变换的速率变化:transition-timing-function //例:平缓进入、先快后慢;
(4)变换延迟时间:transition-delay。
需要事件的触发,例如单击、获取焦点、失去焦点等。
语法:transition:property duration timing-function delay;
例如:transition:width 2s ease 0s;
4.Animation
Animation也是通过指定某一个属性(如width、left、transform等)在两个值之间如何过渡来实现动画的,
与Transition不同的是:
1.Animation可以通过keyframe显式控制当前帧的属性值,而Transition只能隐式来进行
(不能指定每帧的属性值),所以相对而言Animation的功能更加灵活;
2.Animation通过模拟属性值改变来实现动画,动画结束之后元素的属性没有变化;而Transition确实改变了元
素的属性值,动画结束之后元素的属性发生了变化;这一点,这在实际应用中会产生很大的区别。
Animation模块包括了animation-name、animation-duration、animation-timing-function、
animation-delay、animation-iteration-count、animation-play-state等属性。
animation详解:
什么是css3中的动画:
使元素从一种样式逐渐变化为另一种样式
可以改变任意多的样式任意多的次数
可以用百分比规定变化发生的时间,或者用关键词“from”和“to”,等价于“0%”和“100%”,表示动画的开始和完成
通过css3我们可以创建动画,可以代替页面中的动画图片、Flash动画以及JavaScript。
如果创建css动画,需要了解@keyframes规则。
@keyframes规则用于创建动画,在其中规定某项css样式,就能创建由当前样式逐渐改为新样式的动画效果。
兼容性:
Internet Explorer 10、Firefox 以及 Opera 支持 @keyframes 规则和 animation 属性。
Chrome 和 Safari 需要前缀 -webkit-。
注释:Internet Explorer 9,以及更早的版本,不支持 @keyframe 规则或 animation 属性。
实现:
在 @keyframes 中创建动画时,要将其捆绑到某个选择器,否则不会产生动画效果。
需要至少规定以下两项:
规定动画的名称
规定动画的时长
示例:
<!DOCTYPE html>
<html>
<head>
<style>
div
{
width:100px;
height:100px;
background:red;
animation:myfirst 5s;
/*兼容处理*/
-moz-animation:myfirst 5s; /* Firefox */
-webkit-animation:myfirst 5s; /* Safari and Chrome */
-o-animation:myfirst 5s; /* Opera */
}
/*定义动画----myfirst是动画的名称*/
@keyframes myfirst
{
from {background:red;}
to {background:yellow;}
}
@-moz-keyframes myfirst /* Firefox */
{
from {background:red;}
to {background:yellow;}
}
@-webkit-keyframes myfirst /* Safari and Chrome */
{
from {background:red;}
to {background:yellow;}
}
@-o-keyframes myfirst /* Opera */
{
from {background:red;}
to {background:yellow;}
}
</style>
</head>
<body>
<div></div>
</body>
</html>
css变换与动画详解的更多相关文章
- css 12-CSS3属性详解:动画详解
12-CSS3属性详解:动画详解 #前言 本文主要内容: 过渡:transition 2D 转换 transform 3D 转换 transform 动画:animation #过渡:transiti ...
- DIV css中cursor属性详解-鼠标移到图片变换鼠标形状 (转)
css中cursor属性详解-鼠标移到图片变换鼠标形状 语法: cursor : auto | all-scroll | col-resize| crosshair | default | han ...
- [转]超级强大的SVG SMIL animation动画详解
超级强大的SVG SMIL animation动画详解 本文花费精力惊人,具有先驱前瞻性,转载规则以及申明见文末,当心予以追究.本文地址:http://www.zhangxinxu.com/wordp ...
- css过渡和2d详解及案例
css过渡和2d详解及案例(案例在下方,不要着急) 本文重点: 1.在2D变化使用过程中,有些需求需要两种或两种以上的变化同时使用, 值得注意的是尽量把位移变化放在最前面,把其他变化放在最后面,属性值 ...
- [转] ReactNative Animated动画详解
http://web.jobbole.com/84962/ 首页 所有文章 JavaScript HTML5 CSS 基础技术 前端职场 工具资源 更多频道▼ - 导航条 - 首页 所有文章 ...
- css 之position用法详解
css 之position用法详解: http://www.jb51.net/web/77495.html
- [转]Animation 动画详解(一)——alpha、scale、translate、rotate、set的xml属性及用法
转载:http://blog.csdn.net/harvic880925/article/details/39996643 前言:这几天做客户回访,感触很大,用户只要是留反馈信息,总是一种恨铁不成钢的 ...
- CSS定位属性Position详解
CSS中最常用的布局类属性,一个是Float(CSS浮动属性Float详解),另一个就是CSS定位属性Position. 1. position:static 所有元素的默认定位都是:position ...
- Android中的动画详解系列【4】——Activity之间切换动画
前面介绍了Android中的逐帧动画和补间动画,并实现了简单的自定义动画,这一篇我们来看看如何将Android中的动画运用到实际开发中的一个场景--Activity之间跳转动画. 一.定义动画资源 如 ...
随机推荐
- GDAL源码编译(32位)
GDAL源码编译(32位) 前言 GDAL:GDAL/OGR 是一个地理空间数据的格式转换及处理工具.官网:https://www.gdal.org/ swig:SWIG是个帮助使用C或者C++编写的 ...
- 201621123075 week5 继承、多态、抽象类和接口
1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 接口.abstract.implements.comparable 1.2 尝试使用思维导图将这些关键词组织起来.注:思维导图一 ...
- VMware与Centos系统安装、重置root密码
VMware与Centos系统安装 今日任务 .Linux发行版的选择 .vmware创建一个虚拟机(centos) .安装配置centos7 .xshell配置连接虚拟机(centos) 选择性 ...
- leetcode python 030 Substring with Concatenation of All Words
## 您将获得一个字符串s,以及一个长度相同单词的列表.## 找到s中substring(s)的所有起始索引,它们只包含所有单词,## eg:s: "barfoothefoobarman&q ...
- reduction_indices in tensorflow
https://www.cnblogs.com/likethanlove/p/6547405.html
- day 17 项目开发常用模块
---恢复内容开始--- time模块 import time print(time.time()) # 时间戳: print(time.strftime("%Y-%m-%d %X" ...
- 微信连wifi,中文ssid报Invalid sign tosign错误
Invalid sign tosign错误如上: 是微信官方接受和回传的问题,改固定字符解决: 比如将ssid固定修改为字符串‘ssid’即可:
- Spring中的@Bean注解、@Configuration注解、@Value
1.首先是注册bean类:@Component.@Responsitory.@Controller.@Service.Configuration这些注解是把要实例化的对象装化成一个bean,放到Ioc ...
- android active间数据传递
Bundle是key-value存储. Bundle bundle=new Bundle(); bundle.putString("key", "value") ...
- poj 3264 倍增 ST表
#include<iostream> #include<cmath> using namespace std; ; int a[maxn]; ]; ]; int quick(i ...