Accede a todo EDteam con un único pago¡Sube a premium!

Personaliza el scroll de tu web sólo con CSS

Aprende a personalizar la barra de scroll de tu sitio web de forma rápida y sin javascript

Diseño web
8 minutos
Hace 6 años
Personaliza el scroll de tu web sólo con CSS

¿Te has llegado a preguntar cómo puedes personalizar la barra de scroll de tu sitio web? Ya sea porque quieres crear un scroll que se ve sensacional con una interfaz que diseñaste o el simple hecho de que los estilos que tiene por defecto son aburridos y feos. Sea cual sea la razón has llegado al lugar correcto, porque el día de hoy aprenderemos a cómo personalizar el scroll en una página web utilizando sólo CSS. Advertencia: este método sólo es compatible con navegadores basados en Webkit. Para mayor información visita Can I Use.

Empecemos conociendo las partes del scroll, que si bien se divide en varios componentes, los que más nos importan en esta ocasión son tres: scroll, track y thumb

Partes del scroll

Una vez que ya conocemos la manera en que se conforma el scroll y con la ayuda del pseudo elemento ::-webkit-scrollbar procederemos a crear nuestros estilos

webkit-scrollbar

Con ::-webkit-scrollbar nos encargaremos de definir la altura y la anchura del componente Scroll. Y si lo deseas, lo puedes ocultar sin afectar su funcionamiento.

1.container::-webkit-scrollbar { 2 width: 8px; /* Tamaño del scroll en vertical */ 3 height: 8px; /* Tamaño del scroll en horizontal */ 4 display: none; /* Ocultar scroll */ 5} 6

webkit-scrollbar-thumb

Con ::-webkit-scrollbar-thumb podremos modificar los bordes, fondo y sombras el componente thumb, lo mejor de todo es que podemos utilizar las pseudo clases active y hover sobre este componente

1/* Ponemos un color de fondo y redondeamos las esquinas del thumb */ 2.container::-webkit-scrollbar-thumb { 3 background: #ccc; 4 border-radius: 4px; 5} 6 7/* Cambiamos el fondo y agregamos una sombra cuando esté en hover */ 8.container::-webkit-scrollbar-thumb:hover { 9 background: #b3b3b3; 10 box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.2); 11} 12 13/* Cambiamos el fondo cuando esté en active */ 14.container::-webkit-scrollbar-thumb:active { 15 background-color: #999999; 16} 17

webkit-scrollbar-track

Con ::-webkit-scrollbar-track es la misma historia que con ::-webkit-scrollbar-thumb respecto a los estilos y pseudo clases, pero aplicados al track.

1/* Ponemos un color de fondo y redondeamos las esquinas del track */ 2.container::-webkit-scrollbar-track { 3 background: #e1e1e1; 4 border-radius: 4px; 5} 6 7/* Cambiamos el fondo cuando esté en active o hover */ 8.container::-webkit-scrollbar-track:hover, 9.container::-webkit-scrollbar-track:active { 10 background: #d4d4d4; 11} 12

El resultado de todo lo anterior da lo siguiente:

See the Pen Scroll style only CSS | EDteam blog by Juan Alexis Mora Angulo (@Jopzik) on CodePen.

Y de esta manera tan sencilla podrás crear variedad de estilos para la barra de scroll y usarlos donde lo requieras en tu web.

Puedes aprender más de CSS en nuestro curso gratuito CSS Desde Cero.

Comentarios de los usuarios

Pregunta a ChatEDT