✅Cómo Crear un Timeline Animado en Gutenberg solo con HTML y CSS

Hoy te traigo otro snippet útil para Gutenberg: un timeline horizontal animado totalmente personalizado, que puedes insertar directamente desde un bloque de HTML sin depender de constructores visuales o plugins adicionales.

timeline gutenberg wordpress

¿Qué vamos a crear?

Un timeline o línea de tiempo con 8 pasos, perfecto para mostrar procesos, roadmaps o fases de un proyecto, con las siguientes características:

  • Diseño horizontal responsive (que se adapta a móvil/tablet).
  • Animación «en cadena» al cargar.
  • Efecto hover con escala de grises + tooltip.
  • Hecho solo con HTML y CSS.
timeline gutenberg sin plugins wordpress

Código completo del timeline

Simplemente copia y pega este código dentro de un bloque de HTML de Gutenberg:

<style>
  .timeline-container {
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
    padding: 50px 0;
    overflow: hidden;
  }
  .timeline-track {
    display: flex;
    justify-content: space-between;
    position: relative;
    flex-wrap: nowrap;
  }
  .timeline-track:before {
    content: "";
    position: absolute;
    top: 36px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #ccc;
    z-index: 1;
    transition: background 0.3s ease;
  }
  .timeline-step {
    position: relative;
    width: 12.5%;
    text-align: center;
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 0.6s forwards;
  }
  .timeline-step:nth-child(1) { animation-delay: 0.2s; }
  .timeline-step:nth-child(2) { animation-delay: 0.4s; }
  .timeline-step:nth-child(3) { animation-delay: 0.6s; }
  .timeline-step:nth-child(4) { animation-delay: 0.8s; }
  .timeline-step:nth-child(5) { animation-delay: 1s; }
  .timeline-step:nth-child(6) { animation-delay: 1.2s; }
  .timeline-step:nth-child(7) { animation-delay: 1.4s; }
  .timeline-step:nth-child(8) { animation-delay: 1.6s; }

  @keyframes fadeInUp {
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .timeline-step:before {
    content: "";
    position: absolute;
    top: 30px;
    left: 50%;
    transform: translateX(-50%);
    width: 14px;
    height: 14px;
    background: #13b0a0;
    border-radius: 50%;
    z-index: 2;
    transition: background 0.3s ease, transform 0.3s ease;
  }
  .timeline-step:hover:before {
    background: #111;
    transform: translateX(-50%) scale(1.2);
  }
  .timeline-content {
    margin-top: 60px;
  }
  .timeline-content img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 50%;
    margin-bottom: 10px;
    transition: filter 0.3s ease;
  }
  .timeline-step:hover img {
    filter: grayscale(100%);
  }
  .timeline-content h4 {
    font-size: 1rem;
    margin-bottom: 5px;
  }
  .timeline-content p {
    font-size: 0.85rem;
    color: #555;
  }
  /* Tooltip */
  .timeline-step:hover .tooltip {
    opacity: 1;
    transform: translateY(-10px);
  }
  .tooltip {
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(0);
    background: rgba(0,0,0,0.7);
    color: #fff;
    padding: 5px 10px;
    border-radius: 4px;
    font-size: 0.75rem;
    opacity: 0;
    transition: all 0.3s ease;
    white-space: nowrap;
    pointer-events: none;
  }
  /* Responsive */
  @media (max-width: 768px) {
    .timeline-track {
      flex-wrap: wrap;
    }
    .timeline-step {
      width: 50%;
      margin-bottom: 40px;
    }
    .timeline-track:before {
      height: 100%;
      width: 2px;
      left: 50%;
      top: 0;
    }
    .timeline-step:before {
      top: auto;
      left: 50%;
      transform: translateX(-50%);
      margin-top: 0;
    }
  }
</style>

<div class="timeline-container">
  <div class="timeline-track">
    <div class="timeline-step">
      <div class="tooltip">Inicio</div>
      <div class="timeline-content">
        <img src="https://codigos.fransalas-proyectos.com/wp-content/uploads/2022/04/article-image-1.webp" alt="Paso 1">
        <h4>Paso 1</h4>
        <p>Idea inicial y análisis de objetivos.</p>
      </div>
    </div>
    <div class="timeline-step">
      <div class="tooltip">Roadmap</div>
      <div class="timeline-content">
        <img src="https://codigos.fransalas-proyectos.com/wp-content/uploads/2022/05/article-image-2.webp" alt="Paso 2">
        <h4>Paso 2</h4>
        <p>Planificación detallada y cronograma.</p>
      </div>
    </div>
    <div class="timeline-step">
      <div class="tooltip">Diseño UI</div>
      <div class="timeline-content">
        <img src="https://codigos.fransalas-proyectos.com/wp-content/uploads/2022/05/article-image-3.webp" alt="Paso 3">
        <h4>Paso 3</h4>
        <p>Diseño de la interfaz y experiencia.</p>
      </div>
    </div>
    <div class="timeline-step">
      <div class="tooltip">Desarrollo</div>
      <div class="timeline-content">
        <img src="https://codigos.fransalas-proyectos.com/wp-content/uploads/2022/04/article-image-1.webp" alt="Paso 4">
        <h4>Paso 4</h4>
        <p>Programación y desarrollo del proyecto.</p>
      </div>
    </div>
    <div class="timeline-step">
      <div class="tooltip">Testing</div>
      <div class="timeline-content">
        <img src="https://codigos.fransalas-proyectos.com/wp-content/uploads/2022/05/article-image-2.webp" alt="Paso 5">
        <h4>Paso 5</h4>
        <p>Pruebas internas y control de calidad.</p>
      </div>
    </div>
    <div class="timeline-step">
      <div class="tooltip">Feedback</div>
      <div class="timeline-content">
        <img src="https://codigos.fransalas-proyectos.com/wp-content/uploads/2022/05/article-image-3.webp" alt="Paso 6">
        <h4>Paso 6</h4>
        <p>Feedback del cliente y ajustes finales.</p>
      </div>
    </div>
    <div class="timeline-step">
      <div class="tooltip">Entrega</div>
      <div class="timeline-content">
        <img src="https://codigos.fransalas-proyectos.com/wp-content/uploads/2022/04/article-image-1.webp" alt="Paso 7">
        <h4>Paso 7</h4>
        <p>Entrega y formación del cliente.</p>
      </div>
    </div>
    <div class="timeline-step">
      <div class="tooltip">Soporte</div>
      <div class="timeline-content">
        <img src="https://codigos.fransalas-proyectos.com/wp-content/uploads/2022/05/article-image-2.webp" alt="Paso 8">
        <h4>Paso 8</h4>
        <p>Soporte post-lanzamiento y seguimiento.</p>
      </div>
    </div>
  </div>
</div>
Lenguaje del código: HTML, XML (xml)
Inicio
Paso 1

Paso 1

Idea inicial y análisis de objetivos.

Roadmap
Paso 2

Paso 2

Planificación detallada y cronograma.

Diseño UI
Paso 3

Paso 3

Diseño de la interfaz y experiencia.

Desarrollo
Paso 4

Paso 4

Programación y desarrollo del proyecto.

Testing
Paso 5

Paso 5

Pruebas internas y control de calidad.

Feedback
Paso 6

Paso 6

Feedback del cliente y ajustes finales.

Entrega
Paso 7

Paso 7

Entrega y formación del cliente.

Soporte
Paso 8

Paso 8

Soporte post-lanzamiento y seguimiento.

¿Cómo personalizarlo?

Vamos a ver punto por punto cómo modificar este timeline a tu gusto.

html css timeline gutenberg sin plugins wordpress

1. Cambiar las imágenes

Busca esta línea dentro de cada paso:

<img src="URL-DE-LA-IMAGEN" alt="Paso X">

Sustituye URL-DE-LA-IMAGEN por la URL de la imagen que tengas subida en tu biblioteca de WordPress.

2. Editar los textos de cada paso

Modifica directamente el título y la descripción dentro de cada paso:

<h4>Paso X</h4>
<p>Texto descriptivo aquí.</p>

Además, puedes cambiar el texto del tooltip en esta línea:

<div class="tooltip">Texto del tooltip</div>

3. Agregar o eliminar pasos

Si necesitas más de 8 pasos, solo debes duplicar este bloque:

<div class="timeline-step"> ... </div>

Y ajustar esta parte del CSS para recalcular el ancho:

.timeline-step {
  width: calc(100% / N);
}

Por ejemplo, si quieres 10 pasos:

width: 10%; /* 100% / 10 = 10% */

4. Cambiar la animación y la velocidad

La animación está controlada por la propiedad animation-delay de cada paso:

.timeline-step:nth-child(1) { animation-delay: 0.2s; }

Puedes ajustar la velocidad global de todos los pasos aquí:

animation: fadeInUp 0.6s forwards;

Cámbialo por 0.4s o 1s según lo rápido o lento que quieras que aparezcan.

5. Tooltip y efectos hover

El tooltip se muestra al pasar el ratón, pero también puedes personalizar su color, tamaño o posición en esta clase:

.tooltip {
  background: rgba(0,0,0,0.7);
  color: #fff;
  padding: 5px 10px;
}

Además, puedes modificar el punto de la línea y la imagen con este efecto hover:

.timeline-step:hover img {
  filter: grayscale(100%);
}

.timeline-step:hover:before {
  background: #111;
}

6. Estilos generales y colores

Todo el color base del timeline lo controla esta variable:

background: #13b0a0; /* Color del punto y línea */

Puedes cambiarlo por tu color corporativo. También puedes modificar la línea base:

.timeline-track:before {
  background: #ccc;
}

Resultado final

Con este snippet tendrás una línea de tiempo horizontal elegante, animada y responsive, lista para usar directamente en cualquier página creada con Gutenberg.

Nos vemos en el siguiente tutorial. Un saludo.

5/5 - (1 voto)
Compartir Artículo

Un comentario

  1. Fran Salas Master WP 1 año atrás

    Deja tus dudas y opiniones en los comentarios.

¿Tienes una duda o sugerencia sobre este artículo?

Puedes dejar un comentario de forma anónima, sin necesidad de registrarte ni proporcionar ningún dato personal. Tu mensaje se publicará como “Usuario Anónimo No Premium”, un perfil que agrupa a todos los visitantes no registrados.

Importante: para evitar el spam automático, todos los comentarios anónimos deben comenzar con el símbolo #. Ejemplo: # Tengo una duda sobre los shortcodes personalizados...

Este espacio está destinado exclusivamente a preguntas concretas, dudas o sugerencias relacionadas con el contenido del artículo. Por respeto a los demás lectores, no se publicarán temas sin relación.

Privacidad y normas:
  • No tienes que agregar tu nombre, correo ni ningún otro dato identificativo.
  • No se permiten enlaces en comentarios anónimos.
  • No se permiten símbolos especiales como < o > (menor y mayor que), ya que se consideran intentos de insertar código y serán bloqueados.
  • Todos los comentarios anónimos pasan por revisión antes de ser publicados y solo se aprobarán si aportan valor al contenido del artículo.
¿Quieres comentar con tu nombre y que tu mensaje se publique al instante? Inicia sesión o regístrate.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

0%