当前位置: 代码迷 >> 综合 >> 两种css实现动画的方式
  详细解决方案

两种css实现动画的方式

热度:4   发布时间:2024-01-24 12:01:56.0

1.过渡动画

.xm{position:fixed;bottom:0;left:0;/* z-index:1; */font-size:0;transition: all .3s ease-in-out;/* -webkit-transition: all 1s ease-in-out 1s;Safari 和 Chrome */transform:translateY(100px);/*使图片在y轴下移100px*/}.xm:hover{-webkit-transform:translateY(0);/* Safari 和 Chrome */-ms-transform:translateY(0);/*IE*/}

这里是动画效果是鼠标放到图片上后,图片在三秒内上移100px

用 js语法实现:object.style.transition="all 1s"js语法:object.style.transitionTimingFunction="linear" 

对应的属性:
transition-delay 属性规定过渡效果何时开始。 
linear    规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1))。
ease    规定慢速开始,然后变快,然后慢速结束的过渡效果(cubic-bezier(0.25,0.1,0.25,1))。
ease-in    规定以慢速开始的过渡效果(等于 cubic-bezier(0.42,0,1,1))。
ease-out    规定以慢速结束的过渡效果(等于 cubic-bezier(0,0,0.58,1))。
ease-in-out    规定以慢速开始和结束的过渡效果(等于 cubic-bezier(0.42,0,0.58,1))。
cubic-bezier(n,n,n,n)    在 cubic-bezier 函数中定义自己的值。可能的值是 0 至 1 之间的数值。

2.渐变动画

{width:300px;height:200px;background:red;animation:mymove 5s infinite;/*Safari 和 Chrome:*/-webkit-animation:mymove 5s infinite;
}@keyframes mymove{from {background-color:red;}to {background-color:blue;}
}/*Safari 和 Chrome:*/
@-webkit-keyframes mymove
{from {background-color:red;}to {background-color:blue;}
}

此处的动画效果是颜色渐变,由红变蓝

在 CSS 中,background-position 属性是 可动画化(animatable) 的。

Internet Explorer 10、Firefox 和 Opera 支持 CSS 动画。

Safari 和 Chrome 通过带有前缀 -webkit-,支持 CSS 动画。

  相关解决方案