Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 0 additions & 13 deletions .github/login.html

This file was deleted.

File renamed without changes.
2 changes: 1 addition & 1 deletion .github/FAQ.html → FAQ.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!DOCTYPE html>
<html>
<html lang="ko">
<head>
<title>
FAQ
Expand Down
7 changes: 4 additions & 3 deletions .github/index.html → index.html
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
<!DOCTYPE html>
<html lang="ko">

<head>
<meta charset = "utf-8">
<title>판다마켓</title>
<title>
판다마켓
</title>
<link rel = "stylesheet" href = "style.css">
</head>
<!-- header 부분 시작 -->
<body>
<header>
<nav class = "top">
<nav class = "navigationBar">
<a href = "/" aria-label = "홈으로 이동">
<img src = "pandamarket_images/Property 1=sm.png" alt = "판다마켓 로고">
</a>
Expand Down
2 changes: 1 addition & 1 deletion .github/items.html → items.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!DOCTYPE html>
<html>
<html lang="ko">
<head>
<title>
items
Expand Down
54 changes: 54 additions & 0 deletions login.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<!DOCTYPE html>
<html lang="ko">
<head>
<title>
판다마켓 로그인
</title>
<meta charset = "utf-8">
<link rel = "stylesheet" href = "style.css">
</head>
<header class = "login_logo">
<a href = "/" aria-label = "홈으로 이동">
<img src = "pandamarket_images/Property 1=sm@2x.png" alt = "판다마켓 로고">
</a>
</header>
<!-- body -->
<body>
<div class = "login_signup_container">
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<div class = "login_signup_container">
<div class="login_signup_container">

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이런식으로 속성명과 값 사이에 공백 넣어주실 필요없으니 제거해보실래요?
포맷팅이 잘못되어있으면 전체적인 코드 퀄리티를 눈에 보이게 저하시켜서 좋은 포맷팅 습관을 들일수있도록 지금은 수동으로 고치고, 나중에 prettier로 자동 포맷팅 적용시켜보시면 좋을것같아요 :)

prettier 참고

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

추가적으로 스프린트 미션2라서 따로 코멘트 안드리려했는데 코드가 포함되어있어서 말씀드리자면, div 태그보다는 form 태그를 사용하는건어떨까요?

의미론적으로도 올바르고, (Semantic)
접근성 향상 및 사용성 개선에도 도움이 됩니다.

우선 form태그는 웹페이지에서 사용자 입력을 서버로 전송하기위해 사용하는 html 요소인데, 특정 url로 전송하거나 http method를 지정할수있습니다.
그리고 기본적인 유효성검사를 지원하는데, 폼 요소에 required 속성을 사용하면 필수 입력 조건이 걸려서 비워서 제출할수없게끔 만들어줄수있어요.

물론 지금 서버 제출을 고려하지않고 작업을 하고있지만, 일반적으로 폼 요소는 서버에 제출하기위해 쓰이니까 알아두시는게 좋겠죠? 👍

<label for = "email">
이메일
</label>
<input type = "email" placeholder = "이메일" id = "email" name = "email" required/>

<label for = "nickname">
비밀번호
</label>
<div class = "password_box">
<input type = "password" placeholder = "비밀번호" id = "password" name = "password" required/>
<img src = "pandamarket_images/closed_eye.png" alt = "비밀번호 숨기기 아이콘" class = "eye_icon"/>
</div>
<button type = "submit" class = "login_signup_button">
로그인
</button>
<div class = "easy_login_container">
<div class = "easy_login_form">
<p>
간편 로그인하기
</p>
<div>
<a href = "https://www.google.com/" aria-label = "구글로 간편 로그인" class = "easy_login_link_icon">
<img src = "pandamarket_images/Component 2.png" alt = "구글">
</a>
<a href = "https://www.kakaocorp.com/page/" aria-label = "카카오톡으로 간편 로그인" class = "easy_login_link_icon">
<img src = "pandamarket_images/Component 3.png" alt = "카카오톡">
</a>
</div>
</div>
</div>
<div class = "direction_text_box">
판다마켓은 처음이신가요?
<a href = "/signup.html" aria-label = "회원가입 화면으로 이동">회원가입</a>
</div>
</div>
</body>
</html>
Binary file added pandamarket_images/Component 2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pandamarket_images/Component 2@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pandamarket_images/Component 2@3x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pandamarket_images/Component 3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pandamarket_images/Component 3@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pandamarket_images/Component 3@3x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pandamarket_images/closed_eye.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added pandamarket_images/opened_eye.png
File renamed without changes.
64 changes: 64 additions & 0 deletions signup.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
<!DOCTYPE html>
<html lang="ko">
<head>
<title>
판다마켓 회원가입
</title>
<meta charset = "utf-8">
<link rel = "stylesheet" href = "style.css">
</head>
<header class = "signup_logo">
<a href = "/" aria-label = "홈으로 이동">
<img src = "pandamarket_images/Property 1=sm@2x.png" alt = "판다마켓 로고">
</a>
</header>
<!-- body -->
<body>
<div class = "login_signup_container">
<label for = "email">
이메일
</label>
<input type = "email" placeholder = "이메일" id = "email" name = "email" required/>
<label for = "nickname">
닉네임
</label>
<input type = "text" placeholder = "닉네임" id = "nickname" name = "nickname" required/>
<label for = "password">
비밀번호
</label>
<div class = "password_box">
<input type = "password" placeholder = "비밀번호" id = "password" name="password" required/>
<img src = "pandamarket_images/closed_eye.png" alt = "비밀번호 숨기기 아이콘" class = "eye_icon"/>
</div>
<label for = "confirm-password">
비밀번호 확인
</label>
<div class = "password_box">
<input type = "password" placeholder = "비밀번호 확인" id = "confirm-password" name = "confirm-password" required/>
<img src = "pandamarket_images/opened_eye.png" alt = "비밀번호 보이기 아이콘" class = "eye_icon"/>
</div>
<button type = "submit" class = "login_signup_button">
회원가입
</button>
<div class = "easy_login_container">
<div class = "easy_login_form">
<p>
간편 로그인하기
</p>
<div>
<a href = "https://www.google.com/" aria-label = "구글로 간편 로그인" class = "easy_login_link_icon">
<img src = "pandamarket_images/Component 2.png" alt = "구글">
</a>
<a href = "https://www.kakaocorp.com/page/" aria-label = "카카오톡으로 간편 로그인" class = "easy_login_link_icon">
<img src = "pandamarket_images/Component 3.png" alt = "카카오톡">
</a>
</div>
</div>
</div>
<div class = "direction_text_box">
이미 회원이신가요?
<a href = "/login.html" aria-label = "로그인 화면으로 이동">로그인</a>
</div>
</div>
</body>
</html>
114 changes: 108 additions & 6 deletions .github/style.css → style.css
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

모든 스타일을 해당 파일에서 써주는것보다는 CSS 파일또한 용도를 나눠서 구조화하면 훨씬 유지보수에 용이하답니다.

용도에 따라 CSS를 나눠서 관리해볼까요?

  • reset.css: CSS 초기화
  • common.css: 전역 스타일
  • login.css, signup.css: 페이지별 로컬 스타일

이렇게 용도에 따라 파일을 나눠 관리하는건 어떤 이점을 가져다줄수있는지 한번 더 생각해볼수있어요.

  • 역할 분리가 되어 관리가 쉬움: 각 파일의 목적이 명확해서 수정이나 유지보수가 쉬워질거예요.
  • 사용성과 확장성 증가: 여러 페이지 혹은 프로젝트에서 거의 동일하게 재사용이 가능해요.
  • 스타일 우선순위가 더 예측 가능해짐: reset.css → common.css → 페이지나 컴포넌트별 스타일 순으로 로딩하면 우선순위가 명확해지고 스타일 충돌을 줄일 수 있어요.

Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,17 @@ body {

}
@media (max-width: 1920px) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

브레이크포인트를 max-width: 1920px 하나만 쓰게되면 나중에 반응형 레이아웃 구성하실때 다 바꿔주셔야할텐데 기본 스타일은 모바일에 맞추고, (작은 화면에서부터) 큰 화면으로 점차 확장해나가는 순서로 작성하는 방향으로 리팩토링해볼까요? 이렇게 하면 불필요한 스타일 재정의 및 코드 중복을 효과적으로 줄일 수 있답니다 :)

.top {
.navigationBar {
display: flex;
justify-content: space-between;
justify-content: space-around;
align-items: center;

margin-left: 200px;
margin-right: 200px;
position:fixed; /*미션2 추가 사항 */
width: 100%;
z-index: 2;
background-color: #FFFFFF;
top: 0;
left: 0;
padding: 0 clamp(1rem, 20vw, 3rem);
}
}

Expand Down Expand Up @@ -196,4 +200,102 @@ footer {
.social_icons {
width: 116px;
height: 20px;
}
}

/* 로그인, 회원가입 부분 스타일 시작 */
.login_logo {
display: flex;
justify-content: center;
margin-top: 150px;
margin-bottom: 10px;
}

.signup_logo {
display: flex;
justify-content: center;
margin-top: 50px;
margin-bottom: 10px;
}

.login_signup_container {
width: 100%;
max-width: 400px;
margin: 0 auto;
font-family: sans-serif;
}

label {
display: block;
margin: 16px 0 6px;
font-weight: bold;
}

input[type = "email"],
input[type = "password"],
input[type = "text"] {
width: 100%;
padding: 12px;
border: none;
background-color: #f5f6f8;
border-radius: 6px;
}

.password_box {
position: relative;
width: 100%;
background-color: #f5f6f8;
border: none;
border-radius: 8px;
box-sizing: border-box;
}

.eye_icon {
position: absolute;
right: 12px;
top: 50%;
transform: translateY(-50%);
width: 20px;
height: 20px;
}

.login_signup_button {
width: 100%;
margin-top: 15px;
margin-bottom: 15px;
padding: 12px;
background-color: #3692ff;
border: none;
border-radius: 30px;
color: white;
font-weight: bold;
}

.easy_login_container {
background-color: #E6F2FF;
padding: 16px 23px 16px 23px;
border-radius: 8px;
gap: 10px;

}

.easy_login_form {
display: flex;
justify-content: space-between;
font-size: 16px;
}

.easy_login_link_icon {
box-sizing: border-box;
text-decoration: none;
}

.direction_text_box {
display: flex;
justify-content: center;
align-items: center;
margin-top: 10px;
gap: 5px;
font-size: 13px;
font-weight: bold;
}
/* 로그인, 회원가입 부분 스타일 끝 */