VibeCoderzVibeCoderz
Telegram
All Prompts
Animated Gradient Button preview
buttongradientanimationinteractivehover-effectscss-properties

Animated Gradient Button

Интерактивная кнопка с плавной CSS-анимацией градиента. Эффекты при наведении для визуально привлекательного взаимодействия.

Prompt

<button class="gradient-button inline-flex items-center justify-center rounded-[11px] min-w-[132px] px-9 py-4 text-base leading-[19px] font-semibold text-white focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-white/20 disabled:pointer-events-none disabled:opacity-50">
Get Started
<style>
  @property --pos-x {
    syntax: '<percentage>';
    initial-value: 11.14%;
    inherits: false
  }

  @property --pos-y {
    syntax: '<percentage>';
    initial-value: 140%;
    inherits: false
  }

  @property --spread-x {
    syntax: '<percentage>';
    initial-value: 150%;
    inherits: false
  }

  @property --spread-y {
    syntax: '<percentage>';
    initial-value: 180.06%;
    inherits: false
  }

  @property --color-1 {
    syntax: '<color>';
    initial-value: #1a0033;
    inherits: false
  }

  @property --color-2 {
    syntax: '<color>';
    initial-value: #4c1d95;
    inherits: false
  }

  @property --color-3 {
    syntax: '<color>';
    initial-value: #7c3aed;
    inherits: false
  }

  @property --color-4 {
    syntax: '<color>';
    initial-value: #a855f7;
    inherits: false
  }

  @property --color-5 {
    syntax: '<color>';
    initial-value: #c084fc;
    inherits: false
  }

  @property --border-angle {
    syntax: '<angle>';
    initial-value: 20deg;
    inherits: true
  }

  @property --border-color-1 {
    syntax: '<color>';
    initial-value: hsla(270, 75%, 60%, 0.2);
    inherits: true
  }

  @property --border-color-2 {
    syntax: '<color>';
    initial-value: hsla(270, 75%, 40%, 0.75);
    inherits: true
  }

  @property --stop-1 {
    syntax: '<percentage>';
    initial-value: 37.35%;
    inherits: false
  }

  @property --stop-2 {
    syntax: '<percentage>';
    initial-value: 61.36%;
    inherits: false
  }

  @property --stop-3 {
    syntax: '<percentage>';
    initial-value: 78.42%;
    inherits: false
  }

  @property --stop-4 {
    syntax: '<percentage>';
    initial-value: 89.52%;
    inherits: false
  }

  @property --stop-5 {
    syntax: '<percentage>';
    initial-value: 100%;
    inherits: false
  }

  .gradient-button {
    position: relative;
    appearance: none;
    cursor: pointer;
    background: radial-gradient(var(--spread-x) var(--spread-y) at var(--pos-x) var(--pos-y), var(--color-1) var(--stop-1), var(--color-2) var(--stop-2), var(--color-3) var(--stop-3), var(--color-4) var(--stop-4), var(--color-5) var(--stop-5));
    transition: --pos-x 0.5s, --pos-y 0.5s, --spread-x 0.5s, --spread-y 0.5s, --color-1 0.5s, --color-2 0.5s, --color-3 0.5s, --color-4 0.5s, --color-5 0.5s, --border-angle 0.5s, --border-color-1 0.5s, --border-color-2 0.5s, --stop-1 0.5s, --stop-2 0.5s, --stop-3 0.5s, --stop-4 0.5s, --stop-5 0.5s
  }

  .gradient-button::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 1px;
    background: linear-gradient(var(--border-angle), var(--border-color-1), var(--border-color-2));
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    pointer-events: none
  }

  .gradient-button:hover {
    --pos-x: 0%;
    --pos-y: 91.51%;
    --spread-x: 120.24%;
    --spread-y: 103.18%;
    --color-1: #ec4899;
    --color-2: #f97316;
    --color-3: #fbbf24;
    --color-4: #22d3ee;
    --color-5: #1a0033;
    --border-angle: 190deg;
    --border-color-1: hsla(270, 78%, 90%, 0.1);
    --border-color-2: hsla(270, 75%, 90%, 0.6);
    --stop-1: 0%;
    --stop-2: 8.8%;
    --stop-3: 21.44%;
    --stop-4: 71.34%;
    --stop-5: 85.76%
  }
</style>
</button>
All Prompts