Maison > interface Web > tutoriel CSS > Comment encourager les inscriptions avec un contenu modal « Rejoindre le club » et qui disparaît

Comment encourager les inscriptions avec un contenu modal « Rejoindre le club » et qui disparaît

DDD
Libérer: 2024-11-27 07:39:09
original
927 Les gens l'ont consulté

How to encourage signups with a

Imaginez parcourir un site Web, apercevoir un contenu intrigant juste hors de portée, avec un simple modal vous incitant à « rejoindre le club » pour un accès illimité. Ce design subtil mais efficace pique la curiosité tout en encourageant l’action. Dans ce didacticiel, nous allons créer une telle expérience en utilisant le composant Dialog de PrimeVue dans Nuxt 3, complété par un effet de fondu de contenu gracieux qui attire les utilisateurs.

Remarque : cela pourrait tout aussi bien être conçu dans Vanilla JS, ou sans utiliser PrimeVue.

Plongeons-nous dans la création de cette expérience modale captivante tout en nous concentrant sur son efficacité psychologique, en permettant aux utilisateurs de prévisualiser un extrait de contenu pour rendre l'adhésion au club irrésistible.


Partie 1 : Le but et la configuration

L'objectif est simple : lorsqu'un utilisateur n'est pas connecté, afficher un modal "Rejoindre le club" tout en estompant le contenu d'arrière-plan pour faire allusion à ce qui se trouve en dessous. Cette technique exploite la curiosité, un puissant facteur de motivation, pour encourager les inscriptions.

How to encourage signups with a

Initialisation du composant

Créez un fichier join-the-club.vue et configurez le script et le modèle de base :

<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>

Copier après la connexion
Copier après la connexion

Ici, on définit :

  • showLoginDialog : Une variable réactive qui détermine si le modal est visible.
  • email : une variable réactive pour capturer la saisie de l'e-mail de l'utilisateur.
  • joinClub et onSigninClicked : fonctions d'espace réservé pour la gestion des actions.

Partie 2 : Création du modal

En utilisant le composant Dialog de PrimeVue, nous créerons un modal élégant, non intrusif et ciblé. Le modal fournit un appel clair à l'action et simplifie le processus de prise de décision.

Ajout du modèle

<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>

Copier après la connexion
Copier après la connexion
  • Effet de superposition : Le dégradé linéaire crée un effet de fondu, laissant juste assez de visibilité pour intriguer l'utilisateur.
  • Conception réactive : les ajustements axés sur le mobile garantissent que la mise en page fonctionne sur tous les appareils.
  • Styling Inputs : Des conceptions de saisie et de boutons épurées et modernes améliorent la convivialité.

Partie 4 : Ajout de fonctionnalités

La fonction joinClub est le cœur de ce modal. Il gérera les soumissions par e-mail des utilisateurs et déclenchera la logique backend pour les inscriptions.

Ajout de la fonctionnalité de jointure

<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>

Copier après la connexion
Copier après la connexion
  • Validation : Assurez-vous que l'e-mail est fourni avant de continuer.
  • Appel backend simulé : remplacez le fichier console.log par un véritable appel API pour gérer les inscriptions.
  • Fermeture du modal : En cas de succès, masquez le modal pour permettre à l'utilisateur d'explorer le site.

Partie 5 : Lier le tout ensemble

Maintenant, intégrez le composant join-the-club.vue dans votre application principale. Par exemple, vous pouvez l'importer et l'utiliser de manière conditionnelle en fonction de l'état d'authentification de l'utilisateur :

<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>

Copier après la connexion
Copier après la connexion

La psychologie de l'effet de fondu

Cette conception exploite un puissant principe de curiosité. En permettant aux utilisateurs d'apercevoir une partie du contenu sous le modal, vous exploitez leur désir de découvrir ce qui leur manque. Couplée à la proposition de valeur claire dans le texte modal, cette approche encourage les utilisateurs à prendre des décisions rapides, augmentant ainsi les conversions.


Conclusion : plus qu'un modal

Avec cette configuration, vous avez créé plus qu'un simple modal « Rejoindre le club ». Vous avez créé une expérience convaincante et réfléchie qui combine l’attrait visuel avec la psychologie des utilisateurs pour stimuler l’engagement. La boîte de dialogue PrimeVue et la superposition de dégradé fonctionnent en harmonie pour captiver votre public tout en offrant une interface intuitive et réactive.

Restez à l'écoute pour en savoir plus sur cette série alors que nous continuons à créer des fonctionnalités attrayantes qui ravissent les utilisateurs et élèvent vos applications Web !


Pour plus de conseils sur le développement Web, consultez DailySandbox et inscrivez-vous à notre newsletter gratuite pour garder une longueur d'avance !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal