Personaliza tu cursor con CSS y JavaScript: paso a paso

Go to Homepage

Mejorando la experiencia de usuario

Una vez que hemos personalizado nuestro cursor utilizando CSS y JavaScript, es importante tener en cuenta cómo esta personalización afecta la experiencia del usuario. Mejorar la experiencia del usuario (UX) y la interfaz de usuario (UI) es crucial para lograr un sitio web atractivo y funcional.

En primer lugar, es importante tener en cuenta que una personalización excesiva del cursor puede resultar en una experiencia confusa para el usuario. Si el cursor está demasiado animado o se mueve demasiado rápido, puede ser difícil de seguir para algunos usuarios. Por lo tanto, es importante encontrar un equilibrio entre una personalización atractiva y una experiencia de usuario clara.

Además, es importante asegurarse de que la personalización del cursor no interfiera con el flujo natural de la navegación del sitio web. El cursor personalizado debe ser fácil de seguir y no distraer al usuario de la tarea en cuestión. Por ejemplo, si el cursor personalizado es demasiado grande o se ubica en un lugar inesperado, puede interferir con la lectura de un artículo o la navegación por menús.

Otro aspecto a considerar es la accesibilidad. Es importante asegurarse de que los usuarios con discapacidades visuales puedan disfrutar de la personalización del cursor. Una manera de hacerlo es asegurarse de que la personalización del cursor sea compatible con los lectores de pantalla utilizados por los usuarios con discapacidades visuales. También es importante asegurarse de que las opciones de personalización del cursor sean accesibles para todos los usuarios, independientemente de su capacidad visual.

La personalización del cursor puede agregar un toque atractivo y único a nuestro sitio web, pero es importante tener en cuenta la experiencia del usuario al hacerlo. Debemos encontrar un equilibrio entre una personalización atractiva y una experiencia de usuario clara y accesible. Al hacerlo, podemos mejorar la experiencia del usuario y crear un sitio web más atractivo y funcional para todos los usuarios.

Cómo personalizar el cursor con CSS

En el mundo de la UI/UX, la personalización es una de las claves para mejorar la experiencia del usuario. Una forma interesante de personalizar nuestro sitio web es cambiando el cursor. En este tutorial paso a paso, aprenderemos cómo personalizar el cursor con CSS.

Primero, necesitamos agregar algunos estilos CSS para cambiar la apariencia del cursor. Hay varios valores que pueden utilizarse como cursor, por ejemplo, pointer, text, wait, help, progress, entre otros. Podemos usar estas propiedades para personalizar el cursor como se nos antoje.

body {
    cursor: pointer;
}

El ejemplo anterior establece la forma del cursor en el cuerpo del sitio como pointer, lo que lo convierte en una mano clickable. Otras propiedades pueden cambiar la forma del cursor a un cursor de texto o un icono de espera, por ejemplo.

Para personalizar el cursor aún más, podemos usar una imagen personalizada en lugar del cursor predeterminado. Para hacer esto, necesitamos agregar otra línea de CSS que use la siguiente sintaxis:

cursor: url("path/to/image.png");

Reemplaza path/to/image.png con la ruta relativa o absoluta de tu imagen personalizada. Algunas cosas a considerar aquí son el tamaño de la imagen (debería hacerse en svg o png, sin embargo debería tener un tamaño inferior a 32x32 según los estándares actuales) y la posición de la imagen en relación con el cursor.

Finalmente, para aumentar la interactividad de la personalización del cursor, podemos agregar algunos efectos dinámicos y de animación. Puedes agregar esta animación usando JavaScript.

const cursor = document.querySelector(".cursor");

document.addEventListener("mousemove", (e) => {
    cursor.setAttribute(
        "style",
        "top: " + (e.pageY - 30) + "px; left: " + (e.pageX - 30) + "px;"
    );
});

document.addEventListener("click", () => {
    cursor.classList.add("expand");

    setTimeout(() => {
        cursor.classList.remove("expand");
    }, 500);
});

Para esto, primero necesitas crear un elemento HTML (usando CSS) que represente el cursor personalizado y establecer su posición como fija.

.cursor {
    position: fixed;
    width: 60px;
    height: 60px;
    border: 2px solid black;
    border-radius: 50%;
    pointer-events: none;
    z-index: 9999;
    mix-blend-mode: difference;
    transform: translate(-50%, -50%);
}

Este código CSS crea un círculo con bordes negros, que será nuestro cursor personalizado. Luego, necesitamos agregar una pequeña cantidad de código JavaScript para que el cursor siga al mouse y se expanda con la animación al hacer clic.

Con estos pasos básicos, puedes hacer cosas más complejas y darle un estilo completamente único a tus cursors. Lo más importante es experimentar y tratar de aprender poco a poco. Personalización en CSS y JavaScript dan muchos beneficios conceptuales y prácticos.

Agregando interactividad con JavaScript

En la sección anterior aprendimos cómo podemos personalizar el cursor con CSS. En esta sección, vamos a agregar interactividad con JavaScript para que nuestro cursor personalizado reaccione a eventos específicos del usuario.

Lo primero que necesitamos hacer es crear un archivo JavaScript y enlazarlo en nuestro archivo HTML. Podemos hacerlo con la siguiente línea de código en la sección <head> de nuestro HTML:

<script src="archivo.js"></script>

Ahora, vamos a utilizar la función addEventListener() que nos permite añadir un evento a un elemento HTML. En este caso, necesitamos agregar un evento al elemento document que detecte cuando el mouse se mueve. El código se ve así:

document.addEventListener("mousemove", function (e) {
    //Aquí ingresaremos nuestro código para hacer que el cursor personalizado se mueva
});

Dentro de la función de addEventListener() podemos empezar a trabajar en nuestro cursor personalizado. Primero, necesitamos almacenar el tamaño del cursor y la mitad del tamaño para poder centrar nuestro cursor personalizado en el mouse:

var size = 20;
var halfSize = size / 2;

Ahora, necesitamos crear un elemento HTML que represente nuestro cursor personalizado. Podemos hacerlo con la siguiente línea de código:

var cursor = document.createElement("div");

A continuación, podemos agregar estilos CSS al elemento cursor para que se centre en el mouse y tenga una apariencia personalizada:

cursor.style.position = "fixed";
cursor.style.top = e.clientY - halfSize + "px";
cursor.style.left = e.clientX - halfSize + "px";
cursor.style.width = size + "px";
cursor.style.height = size + "px";
cursor.style.background = "red";
cursor.style.borderRadius = "50%";

Finalmente, podemos agregar el elemento cursor al body de nuestro documento:

document.body.appendChild(cursor);

Con estos pasos, hemos logrado agregar interactividad con nuestro cursor personalizado utilizando JavaScript. Ahora, nuestro cursor se moverá siguiendo el movimiento del mouse y se verá personalizado con un color de fondo y una forma diferente.

Este tutorial es solo el inicio de las posibilidades que podemos lograr con la personalización del cursor utilizando CSS y JavaScript. Podemos agregas animaciones, transiciones, y diferentes formas para crear una experiencia más atractiva para los usuarios. Pruébalo por tu cuenta y crea tu propio cursor personalizado.

Otros Artículos