2012-02-17 80 views
12

我使用的自定义滚动在Chrome中正常工作...但它不适用于Firefox或IE9。如何在Firefox和IE中获取自定义滚动条?

这是CSS:

::-webkit-scrollbar { 
    width: 7px; 
    height: 1px; 
} 

::-webkit-scrollbar-thumb  
{ 
    height: 1em; 
    background: #ccc -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(240, 240, 240)), to(rgb(250, 250, 250))); 
    -webkit-border-radius: 5px; 
} 

::-webkit-scrollbar-button:end:increment { 
    background:url(../images/down.png) center no-repeat; 
} 

::-webkit-scrollbar-button:start:decrement 
{ 
    background:url(../images/up.png) center no-repeat; 
} 
+1

@pacofvf:这正是他的要求。 – SLaks 2012-02-17 17:31:23

+0

@SLaks如果你是对的,你应该编辑问题来提问。我不认为OP知道这一点。我只是想把他指向正确的方向。 – 2012-02-17 17:38:15

+0

你可以发布你想要滚动条的样子吗?我看不到上面代码中列出的图像。 – 2012-02-25 00:23:51

回答

25

这是一个专有WebKit的财产。 FF或IE没有相应的功能。

你可以,但是,你要寻找的使用jQuery。

http://manos.malihu.gr/tuts/jquery_custom_scrollbar.html

编辑:唔..有字面上没有Firefox的当量,问这个问题的字面必须要么使用JavaScript的解决方案,或者没有解决方案的人。 Downvotes不会改变这一点。

+0

是这样,这个插件只适用于固定高度的容器? – Blake 2014-08-06 07:00:33

4

而Firefox目前还没有一种方法来改变滚动条(见bug 77790有些相关的问题),Internet Explorer已经有自5.5版本(仅支持颜色)有限功能。欲了解更多信息,请阅读MSDN's User Interface page

注:的语法并不总是在IE改变滚动条的颜色相同,所以如果你正在寻找支持旧版本(我相信7下),你将不得不使用旧的语法以及。

+3

我总是惊讶一个前瞻性的浏览器IE实际上是什么。当然,他们完全没有这个标准,但他们在任何其他人面前都有旋转,渐变,阴影和其他几个整齐的特征。 – 2012-02-17 17:43:34

+2

@ChrisSobolewski - 因为他们为自己做事,而不是为了网络。其他浏览器当时并不存在,或者只是遵循标准。 – Rob 2012-02-17 18:12:13

0

我已经开发了custom scrollbar library named SimpleScrollbar

它不依赖于任何其他库/框架,它是小于1KB gzip和缩小后。

它采用原生滚动,所以没有黑客,而且性能真棒。


你只需要在你的网页库,并在你想滚动任何DIV使用ss-container属性。活生生的例子:

<link href="http://buzinas.github.io/simple-scrollbar/simple-scrollbar.css" rel="stylesheet"/> 
 
<div style="height: 180px; width: 200px; display: inline-block;" ss-container> 
 
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> 
 
</div> 
 
<section style="height: 180px; width: 300px; display: inline-block;" ss-container> 
 
    <p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?</p> 
 
     <p>But I must explain to you how all this mistaken idea of denouncing pleasure and praising pain was born and I will give you a complete account of the system, and expound the actual teachings of the great explorer of the truth, the master-builder of human happiness. No one rejects, dislikes, or avoids pleasure itself, because it is pleasure, but because those who do not know how to pursue pleasure rationally encounter consequences that are extremely painful. Nor again is there anyone who loves or pursues or desires to obtain pain of itself, because it is pain, but because occasionally circumstances occur in which toil and pain can procure him some great pleasure. To take a trivial example, which of us ever undertakes laborious physical exercise, except to obtain some advantage from it? But who has any right to find fault with a man who chooses to enjoy a pleasure that has no annoying consequences, or one who avoids a pain that produces no resultant pleasure?</p> 
 
</section> 
 
<!--[if IE 9]><script src="https://cdn.jsdelivr.net/classlist/2014.01.31/classList.min.js"></script><![endif]--> 
 
<script src="http://buzinas.github.io/simple-scrollbar/simple-scrollbar.min.js"></script>


它适用于所有现代浏览器(Firefox,铬,歌剧,Safari浏览器,边缘),并在IE10和IE11。你也可以在IE9中使用它,包括一个classList填充。

所有的Android,iOS和Windows Phone浏览器也不支持。