> 웹 프론트엔드 > CSS 튜토리얼 > \'클럽 가입\' 모달과 사라지는 콘텐츠로 가입을 유도하는 방법

\'클럽 가입\' 모달과 사라지는 콘텐츠로 가입을 유도하는 방법

DDD
풀어 주다: 2024-11-27 07:39:09
원래의
971명이 탐색했습니다.

How to encourage signups with a

무제한 액세스를 위해 "클럽에 가입"하도록 유도하는 간단한 모달을 통해 웹사이트를 탐색하면서 막 손이 닿지 않는 흥미로운 콘텐츠를 엿본다고 상상해 보십시오. 이 미묘하면서도 효과적인 디자인은 호기심을 자극하는 동시에 행동을 장려합니다. 이 튜토리얼에서는 사용자를 끌어들이는 우아한 콘텐츠 페이드 효과로 완성된 Nuxt 3의 PrimeVue 대화 구성 요소를 사용하여 이러한 경험을 구축하겠습니다.

참고: 이는 바닐라 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 대화상자와 그라데이션 오버레이가 조화롭게 작동하여 청중의 시선을 사로잡는 동시에 직관적이고 반응성이 뛰어난 인터페이스를 제공합니다.

사용자를 즐겁게 하고 웹 애플리케이션을 향상시키는 매력적인 기능을 지속적으로 구축하는 이 시리즈의 더 많은 내용을 계속 지켜봐 주시기 바랍니다!


웹 개발에 대한 더 많은 팁을 보려면 DailySandbox를 확인하고 무료 뉴스레터에 가입하여 앞서 나가세요!

위 내용은 \'클럽 가입\' 모달과 사라지는 콘텐츠로 가입을 유도하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿