如何在css中把一组静态图片改成动态滚动的图片

html-css045

如何在css中把一组静态图片改成动态滚动的图片,第1张

连续的滚动可以使用css3实现(animat,0%,50%,100%),设置不同时间的图片位置即可。但只是在“滚动”,通常不是大家所称之为的“滚动”(严格说是滑动)。

因此说,你的问题有一定的歧义的。

css3还有一种方法可以实现滚动。就是使用过度效果(transition),他也可以实现滚动的效果。而且,个人感觉比较符合你的意思。

其具体的做法是,给超链接滑过状态一个图片属性,如:

li a img {margin-top:0px}

li a:hover img {margin-top:-20px}

li a img {-webkit-transition: margin-top 0.5s}/*注意这里的hack,照顾多个浏览器*/

这样,鼠标滑上图片,图片就会动画向上滑动20像素,鼠标离开,又滑下来。

再扯下严格意义的【动态滚动的图片】,一般的解释是一组图片可以在某个区域内动画滑动。注意是一组。css通常不具有处理多组图片(也有css模拟动画帧的效果的)的效果。动态滚动图片常见的有2种,一种是可控制的滚动列表,一种是自动无限循环滚动。通常用来作为滚动新闻、组图或相册(风采)使用。

@-webkit-keyframes twinkling{

  0% {

      opacity: 0 

  }

  100% {

      opacity: 1 

  }

}

#110 {

    -webkit-animation: twinkling 1s infinite ease-in-out 

}

参考如上。

稍微解释一下,定义两个状态,一种状态下透明度为 0%,另一种状态下透明度为 100%,无限次地在 1 秒内切换这两种状态,看起来就是闪烁了。

今天学习一个炫酷的小技能,纯纯css实现动态图标,hover之后静止在某一个图标。

Demo效果如下:

到这里我们的 HTML 文件就全部写完啦

这时候我们就可以得到一个图片的效果。

这里小图标总共有 11 张,相互之间的变化就是 10 步,所以动画设置如下

这样就得到了一个无限循环的逐帧动画

这样下来,默认就不会动了,然后在hover的时候“运行”就行了