08%
слайдеры

Слайдер до/после

Классический before/after-блок для ретуши, кейсов, редизайна и продуктовых сравнений.

React statePointer events
Подробнее и перенос

Здесь собраны живое демо, prompt для генерации похожего решения и готовый React-сниппет для переноса в HTML embed или кастомный блок Tilda.

Prompt для GPT
Готовая формулировка для генерации похожего эффекта

Создай современную веб-анимацию «Слайдер до/после» для Next.js и React. Нужен эффект: сравнение двух состояний через draggable-разделитель. Используй React state, Pointer events, тёмный премиальный стиль, плавные переходы, адаптивную вёрстку и состояние preview для карточки.

React-компонент

Слайдер до/после

'use client';

import { useState } from 'react';

export function BeforeAfterReveal() {
  const [position, setPosition] = useState(50);

  return (
    <div className="relative aspect-[16/10] overflow-hidden rounded-[28px] border border-white/10 bg-neutral-950">
      <div className="absolute inset-0 bg-neutral-800" />
      <div className="absolute inset-y-0 left-0 bg-lime-300" style={{ width: `${position}%` }} />
      <input type="range" min={10} max={90} value={position} onChange={(event) => setPosition(Number(event.target.value))} className="absolute inset-x-6 bottom-6" />
    </div>
  );
}