CSS3的过渡和动画

在css3中可以实现很多一些动态效果,css3逐步取代了Flash,可以通过他带来的新特性帮助我们轻易解决一些问题,例如图片的圆角可以直接使用border-radius就可以解决,无需再使用ps解决,并且css3可以减少开发和维护成本,并且还能提高页面性能,因为一些动态效果我们不需要再去使用JS就可以完成

过渡:transition

过渡是什么?

我的理解是,当一个元素通过某个条件触发时(例如:hover)改变成另一个属性的过程,更通俗一点来说就是一个人起床到下床,总不会直接就蹦起来准备出门吧,而中间这个穿衣服和洗漱正是过渡的操作

.box{
width: 120px;
height: 120px;
border:10px solid;
position: absolute;
top: 0;
left: 0;
transition: all 0.3s;
}
.box:hover{
left: 50px;
top: 120px;
background: #742;
border: 20px solid #456;
}

transition:all 0.3s  可以解释为一切变化都用0.3s完成

接下来分解transition

transition-property:设置过得的属性

transition-duration:设置过渡所需的时间

transition-timing-function:  ease(默认过渡样式)

            linear 线性过渡

            ease-in  过渡由慢到快

            ease-out 过渡由快到慢

            ease-in-out 过渡线慢再快

过渡还可以多写

例:transition:margin-left  3s,margin-top  5s;

动画:animiation

这个是干啥的呢?

可以重复并且在相应帧做不同的和多种动画

animiation需要搭配keyframes来使用,

例:

@keyframes run{
from{
background-position: 0 0;
}
to{
background-position: -2400px 0;
}
}
.house{
width: 200px;
height: 100px;
background: url(img.png);
background-repeat: no-repeat;
background-position: 0 0;
animation: run 1s infinite steps(12,end) forwards;
};

先解释 keyframes的作用

标准格式  @keyframes  运动name{

     这里有两种写法:

      第一种:

      form{

      background:red     这里表示运动开始的状态,一开始背景颜色为红色  

        }

      to{

        background:#000    表示最后为黑色

        }

      第二种(相应帧)这种通过百分比的可以更细致的规划相应的变化

       0%{

       background:red

      }  

        50%{

       background:#000

      } 

      100%{

       background:blue

      }

}

然后通过animiation来引用

 animiation: 运动名  5s(运动时间) infinite(表示重复播放,不写则只播放一次) step(步数(每个状态切换的步数),end(end表示丢失最后一帧,白柳当前帧的状态,若为start表示丢失第一帧,保留下一帧) forwards(表示当运动结束后保留最后一整的状态,不写则动画结束后回归原始样式) alternate(表示动画倒放))

以上是animiation的多写格式

分布来说:

animiation-name:运动名(也就是keyframes的运动名)

animiation-duration:表示运动时间

animiation-timing-function:linaer 表示线性渐变,这里和过渡的变化一致的

animiation-delay:2s  表示延时2s才开始运动

animiation-itearation-count:2  表示执行2次动画

在animiation中也有hover属性;

animiation-play-state:paused  暂停该动画

原文地址:https://www.cnblogs.com/hzqzwl/p/12168439.html

时间: 2024-11-06 13:46:59

CSS3的过渡和动画的相关文章

css3的过渡和动画的属性介绍

一.过渡 什么是过渡? 过渡是指:某元素的css属性值在一段时间内,平滑过渡到另外一个值,过渡主要观察的是过程和结果. 设置能够过渡的属性: 支持过渡的样式属性,颜色的属性,取值为数值,transform,渐变,visibility, 阴影 指定本次过渡生效的属性: transition-poperty:上面的css属性/all 指定过渡的时长 transition-duration:过渡时长/s/ms 指定过渡时间曲线函数 transition-timing-function: 1.ease

15款css3鼠标悬停图片动画过渡特效

分享15款css3鼠标悬停图片动画过渡特效.这是一款15款不同效果的css3 hover动画过渡效果代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="htmleaf-container"> <div class="container bs-docs-container"> <div class="row"> <div class="col-md-3

CSS3 常用属性(四)-- 过渡、动画

过渡--transition 过渡这个属性的作用是当元素的样式发生变化时,使用动画的效果进行变化.有了过渡属性后,很多情况下,写一些简单效果,将不需要再借助 javascript 去计算. transition  过渡属性简写,可以设置四个值 transition-property 过渡的CSS的名字,或是all transition-duration  从一个状态到另一个状态的的时间 transition-timing-function 过渡效果的动画曲线,默认easy,linear是匀速,c

重新想,重新看——CSS3变形,过渡与动画③

这一篇主要谈谈CSS3的过渡属性. 过渡属性被设计的十分通俗易懂,属性写法为transition,有四个子属性: <transition-property> 表示需要过渡的属性[必须](本质上,transition对元素的该属性上加了一个监听器,一旦发现属性值变动,则开启'过渡'开关,令该属性的值开始过渡.)其下的值有以下三种类型: none all 表示该元素所有可过渡属性均监听: <single-transition-property> 所需监听的单个属性(如需监听多个属性则需

CSS3之过渡Transition

CSS3中的过渡Transition有四个中心属性:transition-property.transition-duration.transition-delay和transition-timing 1.transition-property的语法[css] transition-property :all(所有属性改变) || [attr] (指定要运动的样式)|| none(没有属性改变) 2.transition-property的属性值 (1)none:transition马上停止执行

[CSS3] 学习笔记-CSS动画特效

在CSS3中,出现了很多出彩的效果,例如2D.3D以及过度.动画和多列等.这些效果为页面设计添加了很多的可选设计. 1.2D.3D转换 转换,是使元素改变尺寸.形状.位置的一种效果:通过CSS3转换,我们能够对元素进行移动.缩放.转动.拉伸或拉长:可以通过2D.3D元素来转换: 2D转换方法: translate().rotate().scale().skew().matrix() 3D转换方法: rotateX() rotateY() 1 <!doctype html> 2 <html

css3中变形与动画(三)

transform可以实现矩阵变换,transition实现属性的平滑过渡,animation意思是动画,动漫,这个属性才和真正意义的一帧一帧的动画相关.本文就介绍animation属性. animation属性通过一些关键帧中元素属性的改变来实现动画效果.当然也可以控制动画持续时间,动画迭代次数等. 一.例子 在介绍transition时开篇有一个例子就是实现鼠标放上去,div宽度从100px缓慢增大到200px. 用transition实现方法如下 div:hover{ width: 200

Web 前端技术:CSS3---新属性,浏览器支持度,圆角边框(border-radius),阴影(box-shadow),文字与字体(text-shadow属性、word-wrap属性、@font-face规则),2D转换、过渡与动画(transform属性),3D变换

浏览器支持度 CSS3属性: columns:规定列的宽度和列数 默认宽度.列数值为auto column-width:每栏的宽度 column-gap :两栏之间的间距距离 column-count : 栏目的数目 column-rule : color(色值) width(宽度) style(线条样式) 分栏中的分割线的颜色宽度及样式的设定 1.border-radius属性(圆角边框) eg: 结合不同浏览器兼容问题,使用该CSS3新属性 eg: 2.box-shadow属性(阴影) eg

CSS3(2)--- 过渡(transition)

CSS3(2)--- 过渡(transition) 一.概念 1.什么是过渡 通俗理解 是从一个状态 渐渐的过渡到 另外一个状态. 比如一个盒子原先宽度为100px,当鼠标点击时盒子的宽度变成200px,如果直接从100px变化到200px.从视觉上看去并不友好.我们更喜欢看到的是平滑的过渡. 2.浮动的语法 属性语法格式 transition: 要过渡的属性 花费时间 运动曲线 何时开始; // 如果有多组属性变化,还是用逗号隔开.前两个属性必须写.后两个可以不写.运动曲线默认匀速.开始时间默