Y aunque en la mayoría de las veces es un detalle al que no se le presta atención en el diseño de las páginas, ya sea por respeto al usuario al no cambiar su UI o por cualquier otra razón, hay diseños que piden a gritos desgarradores una manita.
Vamos a ver diversas formas de actuar para cambiar la apariencia de los scrolls
Estilizar Scrollbars con Css
El hacerlo vía css tiene un pero insalvable: no es multinavegador. Y los que sí admiten estilos, prefijos obligados, lo hacen con propiedades y sintaxis totalmente diferentes
Scrollbars en Webkit
Webkit tiene una serie de pseudoelementos para afectar la apariencia de las barras de desplazamiento. El uso del prefijo privativo -webkit- es lógicamente obligatorio:
- scrollbar
- scrollbar-button
- scrollbar-track
- scrollbar-track-piece
- scrollbar-thumb
- scrollbar-corner
- resizer
Y junto a éstas, una serie de pseudoclases para cambiar la apariencia del scroll aplicadas a los anteriores:
- :horizontal
- :vertical
- :start
- :end
- :decrement
- :increment
- :double-button
- :single-button
- :no-button
- :corner-present
- :window-inactive
Que pueden ser usadas junto a las pseudoclases :enabled, :disabled, :hover y :active
Más Info
- Toda la info sobre estas propiedades en Webkit.
- Artículo en Css-Tricks
- Artículo en beautifulpixels
- Artículo de David Walsh
- Ejemplos y demos hay muchos ahí afuera: 1 y 2 y en el editor de Codepen
Scrollbars en IE
Internet Explorer, desde la ver. 5.5 creo recordar, también permite actuar en sobre los scrolls. Pero ya te adelanto, sólo en los colores. No he intentado, aunque imagino, que no admite ni sombras ni degradados ni modificaciones en otros aspectos como el tamaño. Parece que sólo colores planos
En este enlace tienes las propiedades privativas de IE, pero la estética es la de aquel entonces del 5.5:
- scrollbar-3dlight-color
- scrollbar-arrow-color
- scrollbar-base-color
- scrollbar-darkshadow-color
- scrollbar-face-color
- scrollbar-highlight-color
- scrollbar-shadow-color
Y aquí un generador de los códigos del propio Microsoft. Como ves en la imagen, hay que trabajárselo más, mucho más.
Scrollbars en Opera con Css
Parece que aceptaba las propiedades anteriores, pero teniendo que modificar el usuario en la configuración del navegador (about: config) la opción "Enable Scrollbar Colors" en alguna versión. En la 12 lo está por defecto. Un ejemplo
Estilos al scrollbar con css en Firefox
Definitivamente, firefox no da soporte a ninguna propiedad que permita modificar con css la apariencia de los scrolls.
Así que, después de ver la disparidad de las formas y soporte a la vía del Css para estilizar los scrollbars de una página, no parece que sea lo más acertado optar por ella.
Así que el camino a seguir debe ser otro. Por mucho que duela reconocer esta carencia en Css.
Personalizar scrollbars con Javascript
Hay multitud de scripts para cambiar la apariencia de las barras de desplazamiento utilizando javascript. Lo más normal es que sea a través de algún pluging para cualquier librería de las conocidas:
jScrollPane
es todo un clásico. Plugin para jQuery.Malihu Custom Scrollbar
Malihu Custom Scrollbar también para jQuery.
FleXcroll
Otro cásico: FleXcroll
Plugin JQuery : Scrollbar
Perfect scrollbar
También para jQuery
Pero hay muchos más en la red. Sólo tienes que preguntar a san google, por ejemplo: Uno y otro y otro y otro...
+Kseso
No hay comentarios:
Publicar un comentario en la entrada
Suscríbete a los comentarios del artículo, así recibirás un aviso en tu correo cuando otro lector publique una respuesta.
En las entradas con más de 60 días están moderados.
Tags permitidas: <b> <i> <a href=""> y para códigos usa <em>