ホームページ >ウェブフロントエンド >CSSチュートリアル >「クラブに参加」モーダルとフェージング コンテンツを使用して登録を促す方法

「クラブに参加」モーダルとフェージング コンテンツを使用して登録を促す方法

DDD
DDDオリジナル
2024-11-27 07:39:09923ブラウズ

How to encourage signups with a

Web サイトを閲覧し、手の届かないところにある興味深いコンテンツを垣間見て、無制限にアクセスできるように「クラブに参加」するよう促すシンプルなモーダルを想像してみてください。この繊細かつ効果的なデザインは、行動を促しながら好奇心を刺激します。このチュートリアルでは、Nuxt 3 の PrimeVue の Dialog コンポーネントを使用して、ユーザーを引き込む優雅なコンテンツ フェード効果を備えたこのようなエクスペリエンスを構築します。

注: これは、バニラ JS で、または PrimeVue を使用せずに簡単に設計できます。

心理的効果に焦点を当てながら、この魅力的なモーダル エクスペリエンスを作成してみましょう。ユーザーがコンテンツのスニペットをプレビューできるので、クラブに参加したくなるものになります。


パート 1: 目的とセットアップ

目標はシンプルです。ユーザーがログインしていないときに、背景のコンテンツをフェードアウトしながら「クラブに参加」モーダルを表示して、その下にあるものを示唆します。この手法は、強力な動機となる好奇心を利用してサインアップを促進します。

How to encourage signups with a

コンポーネントの初期化

join-the-club.vue ファイルを作成し、基本的なスクリプトとテンプレートをセットアップします。

<script setup>
const showLoginDialog = ref(true); // Controls the modal visibility
const email = ref(''); // Holds the user's email input

// Dynamic body class to manage overflow
const body_class = computed(() => ({
    overflow: showLoginDialog.value,
}));

// Join the club function (placeholder for now)
const joinClub = async () => {
    console.log('User email:', email.value);
};

// Placeholder function for sign-in click
const onSigninClicked = (event) => {
    console.log('Sign-in clicked');
};
</script>

ここでは、次のように定義します。

  • showLoginDialog: モーダルが表示されるかどうかを決定するリアクティブ変数。
  • email: ユーザーの電子メール入力を取得するためのリアクティブ変数。
  • joinClub および onSigninClicked: アクションを処理するためのプレースホルダー関数。

パート 2: モーダルの作成

PrimeVue の Dialog コンポーネントを使用して、エレガントで邪魔にならず、目的を重視したモーダルを作成します。モーダルは明確な行動喚起を提供し、意思決定プロセスを簡素化します。

テンプレートの追加

<template>
    <Body :class="body_class" />
    <!-- Background overlay with fade effect -->
    <div v-if="showLoginDialog">



<ul>
<li>
<strong>Content Preview</strong> : The gradient overlay provides a teaser of what’s underneath, enticing the user to explore.</li>
<li>
<strong>PrimeVue Dialog</strong> : This non-dismissable modal focuses the user’s attention while still being friendly.</li>
</ul>


<hr>

<p><strong>2220+ FREE</strong> <u><b><strong>RESOURCES</strong></b></u> <strong>FOR DEVELOPERS!! ❤️</strong> ?? <strong><sub><strong>(updated daily)</strong></sub></strong></p>

<blockquote>
<p>1400+ Free HTML Templates<br><br>
351+ Free News Articles<br><br>
67+ Free AI Prompts<br><br>
315+ Free Code Libraries<br><br>
52+ Free Code Snippets & Boilerplates for Node, Nuxt, Vue, and more!<br><br>
25+ Free Open Source Icon Libraries</p>
</blockquote>

<p>Visit dailysandbox.pro for free access to a treasure trove of resources!</p>


<hr>

<h3>
  
  
  Part 3: Styling for Engagement
</h3>

<p>Great functionality deserves great styling. Let’s add CSS to enhance the user experience.</p>

<h4>
  
  
  Styling the Overlay and Modal
</h4>



<pre class="brush:php;toolbar:false"><style lang="less" scoped>
.content-auth-overlay {
    position: fixed;
    top: 55px;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 10%), rgba(255, 255, 255, 100%));
    z-index: 1000;
    pointer-events: all;
    opacity: 1;
}

.join-club {
    display: flex;
    align-items: center;
    margin-top: 30px;
    margin-bottom: 20px;
    width: 100%;

    @media @mobile {
        flex-flow: column;
        align-items: normal;
        gap: 15px;
    }
}

.email-input {
    font-size: 1.2rem;
}

.email-control {
    font-size: 1rem;
    white-space: nowrap;
    overflow: unset;
    padding: 11px;
    margin-left: 10px;
}
</style>

  • オーバーレイ効果 : 線形グラデーションはフェードアウト効果を作成し、ユーザーの興味を引くのに十分な可視性を残します。
  • レスポンシブ デザイン : モバイル ファーストの調整により、複数のデバイス間でレイアウトが機能するようになります。
  • 入力のスタイリング : クリーンでモダンな入力とボタンのデザインが使いやすさを向上させます。

パート 4: 機能の追加

joinClub 関数は、このモーダルの中心です。ユーザーの電子メール送信を処理し、サインアップのバックエンド ロジックをトリガーします。

結合機能の追加

<script setup>
const showLoginDialog = ref(true); // Controls the modal visibility
const email = ref(''); // Holds the user's email input

// Dynamic body class to manage overflow
const body_class = computed(() => ({
    overflow: showLoginDialog.value,
}));

// Join the club function (placeholder for now)
const joinClub = async () => {
    console.log('User email:', email.value);
};

// Placeholder function for sign-in click
const onSigninClicked = (event) => {
    console.log('Sign-in clicked');
};
</script>

  • 検証 : 続行する前に、電子メールが提供されていることを確認してください。
  • シミュレートされたバックエンド呼び出し : console.log を、サインアップを処理するための実際の API 呼び出しに置き換えます。
  • モーダルを閉じる : 成功したら、モーダルを非表示にして、ユーザーがサイトを探索できるようにします。

パート 5: すべてを結び付ける

次に、join-the-club.vue コンポーネントをメイン アプリに統合します。たとえば、ユーザーの認証状態に基づいて条件付きでインポートして使用できます。

<template>
    <Body :class="body_class" />
    <!-- Background overlay with fade effect -->
    <div v-if="showLoginDialog">



<ul>
<li>
<strong>Content Preview</strong> : The gradient overlay provides a teaser of what’s underneath, enticing the user to explore.</li>
<li>
<strong>PrimeVue Dialog</strong> : This non-dismissable modal focuses the user’s attention while still being friendly.</li>
</ul>


<hr>

<p><strong>2220+ FREE</strong> <u><b><strong>RESOURCES</strong></b></u> <strong>FOR DEVELOPERS!! ❤️</strong> ?? <strong><sub><strong>(updated daily)</strong></sub></strong></p>

<blockquote>
<p>1400+ Free HTML Templates<br><br>
351+ Free News Articles<br><br>
67+ Free AI Prompts<br><br>
315+ Free Code Libraries<br><br>
52+ Free Code Snippets & Boilerplates for Node, Nuxt, Vue, and more!<br><br>
25+ Free Open Source Icon Libraries</p>
</blockquote>

<p>Visit dailysandbox.pro for free access to a treasure trove of resources!</p>


<hr>

<h3>
  
  
  Part 3: Styling for Engagement
</h3>

<p>Great functionality deserves great styling. Let’s add CSS to enhance the user experience.</p>

<h4>
  
  
  Styling the Overlay and Modal
</h4>



<pre class="brush:php;toolbar:false"><style lang="less" scoped>
.content-auth-overlay {
    position: fixed;
    top: 55px;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 10%), rgba(255, 255, 255, 100%));
    z-index: 1000;
    pointer-events: all;
    opacity: 1;
}

.join-club {
    display: flex;
    align-items: center;
    margin-top: 30px;
    margin-bottom: 20px;
    width: 100%;

    @media @mobile {
        flex-flow: column;
        align-items: normal;
        gap: 15px;
    }
}

.email-input {
    font-size: 1.2rem;
}

.email-control {
    font-size: 1rem;
    white-space: nowrap;
    overflow: unset;
    padding: 11px;
    margin-left: 10px;
}
</style>


フェード効果の心理学

このデザインは好奇心の強力な原理を活用しています。ユーザーがモーダルの下にあるコンテンツの一部を垣間見ることができるようにすることで、欠けているものを見つけたいというユーザーの欲求を引き出すことができます。このアプローチは、モーダル テキストの明確な価値提案と組み合わせることで、ユーザーの素早い意思決定を促し、コンバージョンを増加させます。


結論: モーダル以上のもの

この設定では、単なる「クラブに参加」モーダル以上のものが作成されました。視覚的な魅力とユーザー心理を組み合わせてエンゲージメントを促進する、説得力のある思慮深いエクスペリエンスを作成しました。 PrimeVue ダイアログとグラデーション オーバーレイは調和して機能し、直感的で応答性の高いインターフェイスを提供しながら視聴者を魅了します。

ユーザーを喜ばせ、Web アプリケーションを向上させる魅力的な機能の構築を継続していきますので、このシリーズのさらなる内容にご期待ください!


Web 開発に関するその他のヒントについては、DailySandbox をチェックし、無料のニュースレターに登録して時代の先を行きましょう!

以上が「クラブに参加」モーダルとフェージング コンテンツを使用して登録を促す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。