VibeCoderzVibeCoderz
Telegram
All Prompts
Animated Dual Call-to-Action Button Set preview
buttoncall-to-actionanimatedglassmorphismtailwindcssresponsivehover

Animated Dual Call-to-Action Button Set

Набор анимированных CTA кнопок: «Начать» со стрелкой и «Посмотреть демо» с эффектом стекла. Адаптивный дизайн для лендингов.

Prompt

<div
  class="animate-in stagger-delay-2 flex flex-col sm:flex-row is-visible mt-8 gap-x-4 gap-y-4 items-center justify-center"
  data-element-locator="html &gt; body:nth-of-type(1) &gt; section:nth-of-type(1) &gt; div:nth-of-type(2) &gt; div:nth-of-type(1) &gt; div:nth-of-type(1)">
  <button class="animated-button" style="padding: 12px 36px;" data-element-locator="html &gt; body:nth-of-type(1) &gt; section:nth-of-type(1) &gt; div:nth-of-type(2) &gt; div:nth-of-type(1) &gt; div:nth-of-type(1) &gt; button:nth-of-type(1)">
              <svg viewBox="0 0 24 24" class="arr-2" xmlns="http://www.w3.org/2000/svg">
                <path d="M16.1716 10.9999L10.8076 5.63589L12.2218 4.22168L20 11.9999L12.2218 19.778L10.8076 18.3638L16.1716 12.9999H4V10.9999H16.1716Z" class=""></path>
              </svg>
              <span class="text">Start Building</span>
              <span class="circle"></span>
              <svg viewBox="0 0 24 24" class="arr-1" xmlns="http://www.w3.org/2000/svg">
                <path d="M16.1716 10.9999L10.8076 5.63589L12.2218 4.22168L20 11.9999L12.2218 19.778L10.8076 18.3638L16.1716 12.9999H4V10.9999H16.1716Z" class=""></path>
              </svg>
            </button>

 
</div>
<style>
  .invisible {
    visibility: hidden !important;
  }

  .animated-button {
    position: relative;
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 16px 36px;
    border: 4px solid;
    border-color: transparent;
    font-size: 16px;
    background-color: inherit;
    border-radius: 100px;
    font-weight: 600;
    color: greenyellow;
    box-shadow: 0 0 0 2px greenyellow;
    cursor: pointer;
    overflow: hidden;
    transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  }

  .animated-button svg {
    position: absolute;
    width: 24px;
    fill: greenyellow;
    z-index: 9;
    transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
  }

  .animated-button .arr-1 {
    right: 16px;
  }

  .animated-button .arr-2 {
    left: -25%;
  }

  .animated-button .circle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 20px;
    height: 20px;
    background-color: greenyellow;
    border-radius: 10%;
    opacity: 0;
    transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
  }

  .animated-button .text {
    position: relative;
    z-index: 1;
    transform: translateX(-12px);
    transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
  }

  .animated-button:hover {
    box-shadow: 0 0 0 12px transparent;
    color: #212121;
    border-radius: 12px;
  }

  .animated-button:hover .arr-1 {
    right: -25%;
  }

  .animated-button:hover .arr-2 {
    left: 16px;
  }

  .animated-button:hover .text {
    transform: translateX(12px);
  }

  .animated-button:hover svg {
    fill: #212121;
  }

  .animated-button:active {
    scale: 0.95;
    box-shadow: 0 0 0 4px greenyellow;
  }

  .animated-button:hover .circle {
    width: 220px;
    height: 220px;
    opacity: 1;
  }

  .border-gradient {
    position: relative;
  }

  .border-gradient::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 10px;
    padding: 1px;
    -webkit-mask: linear-gradient(#fff 0 0) content-box,
      linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    background: linear-gradient(225deg,
        rgba(255, 255, 255, 0.0) 0%,
        rgba(255, 255, 255, 0.2) 50%,
        rgba(255, 255, 255, 0.0) 100%);
    pointer-events: none;
  }

  .grid-corners::before,
  .grid-corners::after {
    content: "";
    position: absolute;
    pointer-events: none;
  }

  .grid-corners::before {
    top: 0;
    left: 0;
    width: 80px;
    height: 80px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-left: 1px solid rgba(255, 255, 255, 0.08);
  }

  .grid-corners::after {
    top: 0;
    right: 0;
    width: 80px;
    height: 80px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-right: 1px solid rgba(255, 255, 255, 0.08);
  }

  .grid-corners-bottom::before,
  .grid-corners-bottom::after {
    content: "";
    position: absolute;
    pointer-events: none;
  }

  .grid-corners-bottom::before {
    bottom: 0;
    left: 0;
    width: 80px;
    height: 80px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    border-left: 1px solid rgba(255, 255, 255, 0.08);
  }

  .grid-corners-bottom::after {
    bottom: 0;
    right: 0;
    width: 80px;
    height: 80px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    border-right: 1px solid rgba(255, 255, 255, 0.08);
  }

  /* Animation classes */
  .animate-in {
    opacity: 0;
    transform: translateY(30px);
    filter: blur(10px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out, filter 0.8s ease-out;
  }

  .animate-in.is-visible {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }

  .animate-slide-left {
    opacity: 0;
    transform: translateX(-40px);
    filter: blur(8px);
    transition: opacity 0.9s ease-out, transform 0.9s ease-out, filter 0.9s ease-out;
  }

  .animate-slide-left.is-visible {
    opacity: 1;
    transform: translateX(0);
    filter: blur(0);
  }

  .animate-slide-right {
    opacity: 0;
    transform: translateX(40px);
    filter: blur(8px);
    transition: opacity 0.9s ease-out, transform 0.9s ease-out, filter 0.9s ease-out;
  }

  .animate-slide-right.is-visible {
    opacity: 1;
    transform: translateX(0);
    filter: blur(0);
  }

  .animate-scale {
    opacity: 0;
    transform: scale(0.9);
    filter: blur(8px);
    transition: opacity 0.7s ease-out, transform 0.7s ease-out, filter 0.7s ease-out;
  }

  .animate-scale.is-visible {
    opacity: 1;
    transform: scale(1);
    filter: blur(0);
  }

  .stagger-delay-1 {
    transition-delay: 0.1s;
  }

  .stagger-delay-2 {
    transition-delay: 0.2s;
  }

  .stagger-delay-3 {
    transition-delay: 0.3s;
  }

  .stagger-delay-4 {
    transition-delay: 0.4s;
  }

  .stagger-delay-5 {
    transition-delay: 0.5s;
  }

  .stagger-delay-6 {
    transition-delay: 0.6s;
  }

  .animate-line-rise {
    opacity: 0;
    transform: translateY(12px);
    filter: blur(4px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out, filter 0.6s ease-out;
  }

  .animate-line-rise.is-visible {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }

  .animate-line-rise.delay-1 {
    transition-delay: 0.06s;
  }

  .animate-line-rise.delay-2 {
    transition-delay: 0.12s;
  }

  .animate-line-rise.delay-3 {
    transition-delay: 0.18s;
  }

  .animate-line-rise.delay-4 {
    transition-delay: 0.24s;
  }

  .animate-subtitle-rise {
    opacity: 0;
    transform: translateY(8px);
    filter: blur(3px);
    transition: opacity 0.5s ease-out 0.3s, transform 0.5s ease-out 0.3s, filter 0.5s ease-out 0.3s;
  }

  .animate-subtitle-rise.is-visible {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }

  @media (max-width: 768px) {
    .animated-button {
      padding: 12px 24px;
      font-size: 14px;
    }

    .grid-corners::before,
    .grid-corners::after,
    .grid-corners-bottom::before,
    .grid-corners-bottom::after {
      width: 40px;
      height: 40px;
    }
  }

  @media (max-width: 640px) {
    .border-gradient::before {
      border-radius: 8px;
    }
  }
</style>
<style id="aura-editor-visibility-style">
  .invisible {
    visibility: hidden !important;
  }
</style>

<style id="karaoke-effect-styles">
  .karaoke-word {
    display: inline-block;
    opacity: 0.3;
    transition: opacity 0.3s ease, color 0.3s ease;
  }

  .karaoke-word.is-active {
    opacity: 1;
    color: rgba(163, 230, 53, 1);
  }

  .karaoke-word.is-completed {
    opacity: 1;
    color: inherit;
  }

  .karaoke-container.is-animating .karaoke-word {
    opacity: 0.3;
  }
</style>
All Prompts