Efecto de Animación en Lettering con CSS

Quiero compartir un efecto visual que anima el espaciado de las letras al interactuar con los enlaces de una página web. Este efecto es sencillo de implementar y añade un toque de dinamismo a tus diseños.

Código HTML

La estructura HTML consta de varias secciones con un contenedor que incluye un título y una imagen. Este diseño minimalista es ideal para mostrar elementos interactivos.

<section id="section-1">
  <div class="container">
    <a href="#">
      <h3>Lorem ipsum dolor sit</h3>
      <figure>
        <img src="https://picsum.photos/id/66/350/350">
      </figure>
    </a>
  </div>
</section>

<section id="section-2">
  <div class="container">
    <a href="#">
      <h3>Duis aute irure dolor</h3>
      <figure>
        <img src="https://picsum.photos/id/62/350/350">
      </figure>
    </a>
  </div>
</section>

<section id="section-3">
  <div class="container">
    <a href="#">
      <h3>Excepteur sint occaecat</h3>
      <figure>
        <img src="https://picsum.photos/id/56/350/350">
      </figure>
    </a>
  </div>
</section>

Código CSS

El efecto de animación se logra principalmente con la propiedad letter-spacing y las transiciones. Además, se aplican estilos básicos para centrar y destacar los elementos.

:root {
  --bs-link-color-rgb: 0, 0, 0;
  --bs-link-hover-color-rgb: 0, 0, 0;
  --bs-heading-color: 255, 255, 255;
}

section {
  padding-block: 100px;
  text-align: center;
}

section h3 {
  font-size: 3rem;
  margin-block-end: 1rem;
  position: absolute;
  top: 50%;
  left: 50%;
  width: fit-content;
  transform: translate(-50%, -50%);
  text-wrap: nowrap;
  margin: 0;
  text-transform: uppercase;
}

section a{
  text-decoration: none;
  transition: letter-spacing .1s linear;
  letter-spacing: 0;
  display: inline-block;
  position: relative;
}

section a:hover {
  letter-spacing: .7em;
}

section a:not(:hover) {
  transition: letter-spacing 2s linear;
}

Cómo Funciona

  • Transiciones suaves: Los enlaces utilizan una transición rápida (.1s) para aumentar el espaciado al pasar el ratón y una más lenta (2s) al dejar de interactuar.
  • Posicionamiento central: El texto del enlace está perfectamente centrado gracias a position: absolute y transform: translate(-50%, -50%).
  • Interacción elegante: El espaciado de letras (“letter-spacing”) cambia dinámicamente, añadiendo un efecto moderno y llamativo.

Resultado Final

El efecto crea una experiencia visual atractiva que capta la atención del usuario al interactuar con los enlaces.

Aplicaciones Prácticas

  • Este efecto es perfecto para:
  • Menús de navegación.
  • Portafolios creativos.
  • Galerías de imágenes o proyectos.

Efecto Footer Revelado con CSS (sin JavaScript)

En muchos sitios web vemos footers fijos o footers que aparecen únicamente al final del scroll. En este ejemplo vamos a combinar lo mejor de ambos mundos: un footer que se mantiene abajo todo el tiempo, pero que solo se hace visible cuando el contenido termina, como si estuviera escondido…

Guía para Optimizar Imágenes con ImageOptim para un sitio web

ImageOptim es una aplicación para macOS diseñada para reducir el tamaño de las imágenes sin perder calidad perceptible. Esto no solo mejora el tiempo de carga de los sitios web, sino que también ahorra espacio en disco y ancho de banda. Cómo descargar ImageOptim Cómo usar ImageOptim El uso de…