如何实现CSS3自定义滚动条样式

html-css015

如何实现CSS3自定义滚动条样式,第1张

在chrome下可以自定义滚动条样式,举个例子

::-webkit-scrollbar

{

  width: 6px

  height: 6px

}

::-webkit-scrollbar-track-piece

{

  background-color: rgba(204, 204, 204, 0.66)

  -webkit-border-radius: 0px

}

::-webkit-scrollbar-thumb

{

  border-radius: 6px

  -webkit-border-radius: 6px

  background-color: #7b7b7b

}

/*定义横向和纵向交点的样式*/

::-webkit-scrollbar-corner { background-color: transparent }

这里可以定义滚动条的粗细度和颜色等,至于更具体的诸如分别定义横竖滚动条样式等需要你自行修改。

另外也可以利用一些开源的滚动条插件来实现你需要的效果,比如我之前使用过的nicescroll.js,在浏览器兼容方面会好一些,但是可能会对系统的稳定性有影响,这个需要你权衡。

连续的滚动可以使用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种,一种是可控制的滚动列表,一种是自动无限循环滚动。通常用来作为滚动新闻、组图或相册(风采)使用。