2012-02-17 24 views
12

Estoy usando un desplazamiento personalizado que funciona bien en Chrome ... pero no funciona en Firefox o IE9.cómo obtener un desplazamiento personalizado en Firefox y IE?

Este es el 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: Eso es exactamente lo que está pidiendo. – SLaks

+0

@SLaks si tiene razón, debe editar la pregunta para preguntar exactamente eso. No creo que el OP lo supiera.Solo quería señalarlo en la dirección correcta. –

+0

¿Puedes publicar una captura de pantalla de cómo quieres que se vea tu barra de desplazamiento? No puedo ver las imágenes que enumeró en el código anterior. –

Respuesta

25

Eso es una propiedad webkit propietaria. No hay equivalente para FF o IE.

Sin embargo, puede hacer lo que está buscando con jQuery.

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

Editar: Uhhh .. hay, literalmente, no es equivalente Firefox y la persona que hace la pregunta, literalmente, debe utilizar una solución de Javascript, o ninguna solución en absoluto. Los votos a la baja no cambiarán eso.

+0

¿es para que este complemento solo sea aplicable para contenedores de altura fija? – Blake

4

Mientras que Firefox no tiene actualmente una manera de cambiar las barras de desplazamiento (ver bug 77790 de una forma un tanto tema relacionado ), Internet Explorer ha tenido funcionalidad limitada desde la versión 5.5 (sólo es compatible con los colores). Para obtener más información, lea más al respecto en MSDN's User Interface page.

Nota: La sintaxis no siempre ha sido el mismo para cambiar los colores de la barra de desplazamiento en Internet Explorer, por lo que si usted está mirando para apoyar las versiones anteriores (creo que 7 y bajo), se tiene que utilizar la sintaxis de edad también.

+3

Siempre me ha sorprendido lo que realmente era un navegador IE con visión de futuro. Claro, no eran totalmente estándar al respecto, pero tenían rotación, degradados, sombras paralelas y muchas otras características interesantes antes que nadie. –

+2

@ChrisSobolewski - Porque estaban haciendo cosas por ellos mismos, no por la web. Otros navegadores no existían en ese momento o solo seguían el estándar. – Rob

0

He desarrollado un custom scrollbar library named SimpleScrollbar.

No depende de ninguna otra biblioteca/marco, y es inferior a 1 KB después de gzip y minificación.

Utiliza el desplazamiento nativo, por lo que no hay cortes y el rendimiento es increíble.


Sólo es necesario que incluya la biblioteca en su página, y utilizar el atributo ss-container en cualquier div que desea hacer desplazable. ejemplo vivo:

<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>


Funciona en todos los navegadores modernos (Firefox, Chrome, Opera, Safari, Edge), y en IE10 e IE11. También puede usarlo en IE9 incluyendo un classList polyfill.

Todos los navegadores Android, iOS y Windows Phone son compatibles.

Cuestiones relacionadas