AI CSS Animations

Chevron Arrows Loader

Three chevrons light up and nudge forward one after another, pointing the way. Useful for next step, redirect and continue states. Each chevron is two borders of a rotated square with a rounded tip.

Also known as: arrow loader, swipe right animation, animated chevrons css.

HTML

<div class="ldr-chevron-arrows" role="status" aria-label="Loading">
  <span></span><span></span><span></span>
</div>

CSS

.ldr-chevron-arrows {
  --s: var(--ldr-size, 48px);
  --c: var(--ldr-color, #3b82f6);
  display: flex;
  align-items: center;
  gap: calc(var(--s) / 16);
  height: var(--s);
}
.ldr-chevron-arrows span {
  width: calc(var(--s) / 2.6);
  height: calc(var(--s) / 2.6);
  border-top: calc(var(--s) / 9) solid var(--c);
  border-right: calc(var(--s) / 9) solid var(--c);
  border-top-right-radius: calc(var(--s) / 14);
  opacity: 0.15;
  transform: translateX(calc(var(--s) / -14)) rotate(45deg);
  animation: ldr-chevron-arrows-run 1.2s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}
.ldr-chevron-arrows span:nth-child(2) { animation-delay: 0.15s; }
.ldr-chevron-arrows span:nth-child(3) { animation-delay: 0.3s; }
@keyframes ldr-chevron-arrows-run {
  0%, 70%, 100% { opacity: 0.15; transform: translateX(calc(var(--s) / -14)) rotate(45deg); }
  30%           { opacity: 1; transform: translateX(0) rotate(45deg); }
}

@media (prefers-reduced-motion: reduce) {
  .ldr-chevron-arrows, .ldr-chevron-arrows *, .ldr-chevron-arrows::before, .ldr-chevron-arrows::after, .ldr-chevron-arrows *::before, .ldr-chevron-arrows *::after {
    animation-duration: 3s;
  }
}

Customizing this loader

  • Color: set --ldr-color on the element or a parent. Currently previewing #3b82f6.
  • Size: set --ldr-size. Every dimension in the snippet is derived from it. Currently previewing 64px.
  • Speed: change the duration on the animation shorthand. Delays on the children are relative, so they keep their rhythm.
  • Accessibility: the root carries role="status" and an aria-label so screen readers announce the wait. The reduced-motion rule at the end slows the animation for users who asked for less motion.

Similar loaders