프로젝트 진행 기록/메뉴 메이트 웹 애플리케이션 개발

LoginPage.vue 화면 구성

김쟈워니 2024. 9. 7. 12:26

1. LoginPage.vue 템플릿 구성

<template>
    <div class="loginpage_container">
        <div class="loginpage_card">
            <div class="loginpage_appName">
                <span class="loginpage_appName_first_M">M</span>enu<span class="loginpage_appName_second_M">M</span>ate
            </div>
            <div class="loginpage_pagetitle">로그인 페이지</div>
            <form>
                <div class="loginpage_ID_form">
                    <label for="userID" class="loginpage_ID_label">아이디:</label>
                    <input type="text" id="userID" class="loginpage_ID_input">
                </div>
                <div class="loginpage_password_form">
                    <label for="userPassword" class="loginpage_password_label">비밀번호: </label>
                    <input type="password" id="userPassword" class="loginpage_password_input">
                </div>
                <button type="submit" class="loginpage_login_button">로그인</button>
            </form>
            <div class="loginpage_additional_links">
                <span class="loginpage_signup_prompt">아직 회원이 아니신가요?</span>
                <router-link to="/signup" class="loginpage_signup_link">회원가입</router-link>
                <br>
                <span class="loginpage_findUserInfo_prompt">회원 정보를 잊으셨나요?</span>
                <router-link to="/finduserinfo" class="loginpage_findUserInfo_link">아이디/ 비밀번호 찾기</router-link>
            </div>
        </div>
    </div>
</template>

 

2.LoginPage.vue CSS 구성

 

전체 레이아웃 설정

.loginpage_container

로그인 페이지의 전체 컨테이너

.loginpage_container{
    display:flex;
    justify-content:center;
    align-items: center;
    height:73.5vh;
    background-color:#f2f4f7;
  • display: flex & justify-content: center & align-items: center: 페이지가 화면 중앙에 위치.
  • height: 73.5vh: 화면 높이의 73.5%를 사용하여 페이지가 중간에 위치하도록 설정.
  • background-color: #f2f4f7: 연한 회색 배경 설정.

 

.loginpage_card

로그인 페이지에 카드부분

.loginpage_card{
    background-color: white;
    padding: 40px;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    width: 500px;
}

 

  • background-color: white & padding: 10px: 흰색 배경과 내부 여백.
  • border-radius: 10px: 모서리를 둥글게 처리.
  • box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1): 부드러운 그림자 효과로 카드가 떠있는 느낌.
    • 기본형은 box-shadow [수평오프셋] [수직오프셋] [흐림반경] [색상]
  • width: 500px: 카드의 고정 너비를 설정.

2. 애플리케이션 이름과 제목

.loginpage_appName

.loginpage_appName{
    font-size: 28px;
    margin-bottom:10px;
}
  • font-size: 28px: 애플리케이션 이름의 크기 설정.
  • margin-bottom: 10px: 아래쪽 여백을 추가.

.loginpage_appName_first_M, .loginpage_appName_second_M

.loginpage_appName_first_M,
.loginpage_appName_second_M{
    color:crimson;
}
  • color: crimson: 첫 번째와 두 번째 "M" 글자를 빨간색으로 강조.

.loginpage_pagetitle

.loginpage_pagetitle {
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 20px;
}
  • font-size: 30px & font-weight: bold: 제목을 크게 하고 굵게 설정.
  • margin-bottom: 20px: 제목 아래에 여백 추가.

3. 입력 필드 스타일

.loginpage_ID_form, .loginpage_password_form

.loginpage_ID_form,
.loginpage_password_form {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  text-align: left;
}
  • display: flex & align-items: center: 레이블과 입력 필드를 수평으로 정렬.
  • margin-bottom: 20px: 입력 필드 간 여백 추가.

.loginpage_ID_label, .loginpage_password_label

.loginpage_ID_label,
.loginpage_password_label {
  width: 80px;
  margin-right: 10px;
  font-size: 20px;
  color: #333;
  • width: 80px & margin-right: 10px: 레이블의 고정 너비와 필드 사이의 여백 설정.
  • font-size: 20px & color: #333: 크고 선명한 레이블 텍스트.

.loginpage_ID_input, .loginpage_password_input

.loginpage_ID_input,
.loginpage_password_input {
  flex-grow: 1;
  padding: 10px;
  font-size: 16px;
  border: 1px solid #ddd;
  border-radius: 5px;
  outline: none;
}
  • flex-grow: 1: 입력 필드가 부모 요소 안에서 가능한 모든 공간을 차지.
  • padding: 10px & border: 1px solid #ddd & border-radius: 5px: 입력 필드의 테두리 및 둥근 모서리.
  • outline: none: 포커스 시 외곽선 제거.

4. 로그인 버튼 스타일

.loginpage_login_button

.loginpage_login_button {
    background-color: #007bff;
    color:white;
    padding:12px;
    font-size:16px;
    border:none;
    border-radius:5px;
    cursor:pointer;
    margin-top:10px;
    width:100%;
    transition:background-color 0.3s;
}
  • background-color: #007bff & color: white: 파란색 배경과 흰색 텍스트로 강조.
  • padding: 12px & font-size: 16px: 충분한 여백과 읽기 쉬운 텍스트 크기.
  • border-radius: 5px: 버튼의 둥근 모서리.
  • width: 100%: 버튼이 부모 요소 너비를 꽉 채움.
  • transition: background-color 0.3s: 배경색이 부드럽게 변화.

.loginpage_login_button

.loginpage_login_button:hover {
    background-color: #0056b3;
    
}
  • background-color: #0056b3: 호버 시 더 진한 파란색으로 변경.

5. 추가 링크 스타일

.loginpage_additional_links

.loginpage_additional_links{
    margin-top:20px;
    font-size:14px;
    color:#666;
    line-height:1.5;
    text-align:center;
}
  • margin-top: 20px: 링크 섹션 상단에 여백 추가.
  • font-size: 14px & color: #666: 작은 회색 글자.
  • line-height: 1.5 & text-align: center: 링크 사이의 간격과 중앙 정렬.

.loginpage_signup_link, .loginpage_findUserInfo_link

.loginpage_signup_link,
.loginpage_findUserInfo_link {
  color: #007bff; /* 링크 색상 */
  text-decoration: none; /* 밑줄 제거 */
  font-weight: bold; /* 폰트 두께 */
  margin-left: 5px; /* 좌측 여백 */
}
  • color: #007bff: 링크에 파란색 적용.
  • text-decoration: none: 밑줄 제거.
  • font-weight: bold: 폰트를 굵게 설정.
  • margin-left: 5px: 링크와 다른 텍스트 사이에 좌측 여백 추가.

.loginpage_signup_link, .loginpage_findUserInfo_link

.loginpage_signup_link:hover,
.loginpage_findUserInfo_link:hover {
  text-decoration: underline; /* 호버 시 밑줄 */
}
  • text-decoration: underline: 호버 시 밑줄 추가

 

'프로젝트 진행 기록 > 메뉴 메이트 웹 애플리케이션 개발' 카테고리의 다른 글

SignupPage.vue 구성  (0) 2024.09.12
AdBanner파일 정리  (0) 2024.08.29
StartMenuMate.vue 파일 정리  (0) 2024.08.29
MainPage.vue 관련 정리  (0) 2024.08.26
App.vue 파일 정리  (0) 2024.08.26