コンポーネント フォローボタン Follow Button コンポーネント

Follow Button コンポーネント

イベントや会議のWebサイトに適したレスポンシブフォロー/フォロー解除ボタンコンポーネントで、グラデーショントランジション、ダークモードのサポート、明るいアクセントカラーが特徴です。微妙なホバー効果が含まれており、クリックするとテキストと背景が変更されます(シミュレート)。

プレビュー

HTMLコード

<div class="flex items-center justify-center p-4 bg-gray-100 dark:bg-gray-900 min-h-[150px]">
  <button class="follow-button group relative overflow-hidden px-6 py-2 rounded-full font-semibold text-lg transition-all duration-300 ease-out shadow-md
    bg-gradient-to-r from-red-500 to-purple-600 
    hover:from-purple-600 hover:to-red-500 
    text-white dark:text-gray-100
    focus:outline-none focus:ring-4 focus:ring-purple-300 dark:focus:ring-red-800">
    <span class="relative z-10 block transition-transform duration-300 ease-in-out group-hover:scale-105" data-text-initial="Follow" data-text-followed="Following">Follow</span>
    <span class="absolute inset-0 bg-white opacity-0 transition-opacity duration-300 ease-out group-hover:opacity-10 pointer-events-none"></span>
  </button>

  <script>
    document.addEventListener('DOMContentLoaded', () => {
      const button = document.querySelector('.follow-button');
      const buttonText = button.querySelector('span[data-text-initial]');

      let isFollowing = false;

      button.addEventListener('click', () => {
        isFollowing = !isFollowing;

        if (isFollowing) {
          buttonText.textContent = buttonText.dataset.textFollowed;
          button.classList.remove('from-red-500', 'to-purple-600', 'hover:from-purple-600', 'hover:to-red-500');
          button.classList.add('from-gray-400', 'to-gray-500', 'dark:from-gray-700', 'dark:to-gray-800', 'hover:from-gray-500', 'hover:to-gray-400', 'dark:hover:from-gray-800', 'dark:hover:to-gray-700',
          'text-gray-800', 'dark:text-gray-200');
          button.classList.remove('text-white', 'dark:text-gray-100');
        } else {
          buttonText.textContent = buttonText.dataset.textInitial;
          button.classList.remove('from-gray-400', 'to-gray-500', 'dark:from-gray-700', 'dark:to-gray-800', 'hover:from-gray-500', 'hover:to-gray-400', 'dark:hover:from-gray-800', 'dark:hover:to-gray-700',
          'text-gray-800', 'dark:text-gray-200');
          button.classList.add('from-red-500', 'to-purple-600', 'hover:from-purple-600', 'hover:to-red-500',
          'text-white', 'dark:text-gray-100');
        }
      });
    });
  </script>
</div>

関連コンポーネント

Follow Button コンポーネント

レトロ/ビンテージカラーパレットでデザインされた、すっきりとしたミニマリストの「フォロー」ボタンは、ダッシュボードやプロフィールページに適しています。インタラクティブなホバー状態とダークモードのサポートが特徴で、スイス/国際的なタイポグラフィの原則を体現しています。

開ける

Follow Button コンポーネント

不動産プラットフォーム向けに設計されたレスポンシブな「フォロー」ボタンコンポーネントで、企業のブルーカラースキーム、ダークモードのサポート、微妙なインタラクティブホバー効果が特徴です。

開ける

Follow Button コンポーネント

マイクロインタラクション、セピア/ブラウンの配色、レスポンシブデザイン、ダークモードのサポートを備えた複雑な「フォロー」ボタンコンポーネントで、ブログ/コンテンツプラットフォームに適しています。

開ける