Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[천권희] Sprint2 #80

Merged
Merged
Show file tree
Hide file tree
Changes from all 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
File renamed without changes
10 changes: 10 additions & 0 deletions assets/icon/ic_google.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
12 changes: 12 additions & 0 deletions assets/icon/ic_kakao.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
File renamed without changes
File renamed without changes
10 changes: 10 additions & 0 deletions assets/icon/password_eye.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
72 changes: 47 additions & 25 deletions docs/기능 목록.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,45 +2,67 @@

### 기본

- [x] 랜딩 페이지의 url path는 루트(‘/’)로 설정합니다.
- [x] title은 “판다마켓”로 설정합니다.
- [x] 화면의 너비가 1920px 이상이면 하늘색 배경색은 너비를 꽉 채우도록 채워지고, 내부 요소들의 위치는 고정되고, 여백만 커지도록 합니다.
- [x] 클릭으로 기능이 동작해야 하는 경우, 사용자가 클릭할 수 있는 요소임을 알 수 있도록 CSS 속성 cursor: pointer 로 설정합니다.
- [x] “판다마켓” 클릭 시 루트 페이지(‘/’)로 이동합니다.
- [x] '로그인'버튼 클릭 시 로그인 페이지(‘/login’)로 이동합니다 (빈 페이지)
- [x] “구경하러가기”버튼 클릭 시(’/items’)로 이동합니다.(빈 페이지)
- [x] “Privacy Policy”, “FAQ”는 클릭 시 각각 Privacy 페이지(‘/privacy’), FAQ 페이지(‘/faq’)로 이동합니다.(모두 빈 페이지)
- [x] 페이스북, 트위터, 유튜브, 인스타그램 아이콘을 클릭 시 각각의 홈페이지로 새로운 창이 열리면서 이동합니다.
- [x] netlify로 배포
- 로그인 페이지, 회원가입 페이지 공통

- [x] 아래로 스크롤 해도 상단 네비게이션 바(Global Navigation Bar)가 최상단에 고정됩니다.
- [x] “판다마켓" 로고 클릭 시 루트 페이지(“/”)로 이동합니다.
- [x] 로그인 페이지, 회원가입 페이지 모두 로고 위 상단 여백이 동일합니다.
- [x] input 요소에 focus in 일 때, 테두리 색상은 #3692FF입니다.
- [x] input 요소에 focus out 일 때, 테두리는 없습니다.
- [x] SNS 아이콘들은 클릭시 각각 실제 서비스 홈페이지로 이동합니다.

- 로그인 페이지

- [x] “회원가입”버튼 클릭 시 “/signup” 페이지로 이동합니다.

- 회원가입 페이지

- [x] “로그인”버튼 클릭 시 “/login” 페이지로 이동합니다.

- 배포
- [x] Netlify에 파일 배포가 아닌 포크한 Github 레포지토리로 연결합니다.

### 심화

- [x] palette에 있는 color값들을 css 변수로 등록하고 사용해 주세요.
- [] 비밀번호 input 요소 위에 비밀번호를 확인할 수 있는 아이콘을 추가해 주세요.
- [x] 비밀번호 input 요소 위에 비밀번호를 확인할 수 있는 아이콘을 추가해 주세요.

---

### 개발 진행 순서

- [x] 시맨틱 태그와 BEM 방식 사용하여 기본 구조 html 작성
- [x] 메인페이지 요구 사항에 맞게 전체 레이아웃 잡기
- [x] header detail styling
- [x] home-top detail styling
- [x] main, section detail styling
- [x] home-bottom detail styling
- [x] footer detail styling
- [x] figma에 맞게 detail 수정
- [x] 판다마켓 웹 페이지 내부 이동
- [x] 외부 페이지 이동
- [x] png to svg
- [x] color 값 css 변수로 등록
- 메인 페이지

- [x] GNB 고정

- 로그인 / 회원가입

- [x] 로그인 페이지 html 작성
- [x] 회원가입 페이지 html 작성

- 로그인 페이지 css

- [x] 전체 레이아웃 / form\_\_block 규정
- [x] 이메일 / 비밀번호
- [x] 비밀번호 눈 모양 달기
- [x] submit button
- [x] 간편 로그인
- [x] link
- [x] 이벤트 스타일링

- 회원가입 페이지 css

- [x] 로그인 페이지 스타일 회원가입 페이지에 적용

- [x] netlify 배포
- [x] sns 이동

---

### 주의 사항

- [x] 판다마켓 로고 선명하지 않음 -> png에서 svg로 변경

---

### 질문 사항

- 바닐라 프로젝트에서 모든 html 파일들이 같은 head를 공유하는 방법
16 changes: 8 additions & 8 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<body>
<header class="header">
<a class="header__logo" href="/">
<img src="/assets/logo/logo.svg" alt="logo" />
<img src="/assets/icon/main-logo.svg" alt="main-logo" />
</a>
<a class="header__login-btn" href="login.html">로그인</a>
</header>
Expand Down Expand Up @@ -110,31 +110,31 @@ <h1 class="home-bottom__title">
<div class="footer__sns">
<a
href="https://www.facebook.com/"
target="_black"
target="_blank"
rel="noopener noreferrer"
>
<img src="assets/logo/ic_facebook.svg" alt="facebook" />
<img src="assets/icon/ic_facebook.svg" alt="facebook" />
</a>
<a
href="https://www.twitter.com/"
target="_blank"
rel="noopener noreferrer"
>
<img src="assets/logo/ic_twitter.svg" alt="twitter" />
<img src="assets/icon/ic_twitter.svg" alt="twitter" />
</a>
<a
href="https://youtube.com/"
target="_black"
target="_blank"
rel="noopener noreferrer"
>
<img src="assets/logo/ic_youtube.svg" alt="youtube"
<img src="assets/icon/ic_youtube.svg" alt="youtube"
/></a>
<a
href="https://www.instagram.com/"
target="_black"
target="_blank"
rel="noopener noreferrer"
>
<img src="assets/logo/ic_instagram.svg" alt="instagram" />
<img src="assets/icon/ic_instagram.svg" alt="instagram" />
</a>
</div>
</footer>
Expand Down
85 changes: 82 additions & 3 deletions login.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,87 @@
<html lang="en">
Copy link
Collaborator

Choose a reason for hiding this comment

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

ko 로 변경해주세요 😄

Copy link
Collaborator Author

@alexgoni alexgoni Mar 27, 2024

Choose a reason for hiding this comment

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

fix: sprint2 수정 사항 반영

또 까먹었네요!
매번 꼼꼼하게 봐주셔서 감사합니다 :)

<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<meta
name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0"
/>
<link rel="stylesheet" href="/styles/variables.css" />
<link rel="stylesheet" href="/styles/reset.css" />
<link rel="stylesheet" href="/styles/auth.css" />
<link
rel="stylesheet"
type="text/css"
href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css"
/>
<title>판다마켓</title>
</head>
<body></body>
<body>
<div class="logo">
<a href="/">
<img
width="396"
height="132"
src="/assets/icon/main-logo.svg"
alt="logo"
/></a>
</div>

<form class="login-form">
Copy link
Collaborator

Choose a reason for hiding this comment

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

form 요소 내에 input들과 submit button 을 잘 넣어서 시맨틱한 form을 잘 만들어주셨어요 👍

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

감사합니다! 👍

<div class="form__block">
<label for="email">이메일</label>
<input
id="email"
name="email"
type="email"
placeholder="이메일을 입력해주세요"
/>
</div>

<div class="form__block">
<label for="password">비밀번호</label>
<div class="password-container">
<input
id="password"
name="password"
type="password"
placeholder="비밀번호를 입력해주세요"
/>
Comment on lines +42 to +49
Copy link
Collaborator

Choose a reason for hiding this comment

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

label과 input을 잘 연관시키셨네요! 👍 이렇게 연관시키면, label 클릭 시 연관된 input에 focus 가게 되어 사용성이 더 좋아집니다. 웹접근성에도 도움이 되구요.

<label><input> 요소와 연관시키려면, <input> 에 id 속성을 넣어야합니다. 그런 다음 <label> 에 id 와 같은 값의 for 속성을 넣어야합니다.

참고: https://developer.mozilla.org/ko/docs/Web/HTML/Element/label

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

감사합니다! 👍

<img
class="password-eye"
src="assets/icon/password_eye.svg"
alt="password-eye"
/>
Comment on lines +50 to +54
Copy link
Collaborator

Choose a reason for hiding this comment

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

이미지의 height 속성과 width 속성은 언제나 명시하는 것이 좋습니다. 이 속성들이 명시되어 있으면 웹 페이지가 로드될 때 브라우저가 해당 이미지를 위한 적절한 공간을 남겨둘 수 있지만, 이 속성들이 명시되어 있지 않으면 브라우저는 이미지의 크기를 알 수 없어 필요한 공간을 남겨둘 수 없게 됩니다. 따라서 이미지가 로딩되는 순간 페이지의 레이아웃이 변경되는 결과를 초래할 수 있습니다.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

fix: sprint2 수정 사항 반영
피드백 사항에 맞추어 수정하였습니다.

로딩 시 레이아웃이 변경될 수도 있다는 것을 배웠습니다!

</div>
</div>

<div class="form__block">
<button class="form__submit-btn">로그인</button>
Copy link
Collaborator

Choose a reason for hiding this comment

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

button 태그의 type 속성의 기본값은 submit입니다. 양식 제출용 버튼이 아니라면 type 특성을 button으로 지정하는걸 잊지 마세요. 기본값에서는 버튼을 눌렀을 때 양식 데이터를 제출하고, (존재하지 않는) 응답을 불러오려고 시도하는 과정에서 문서의 현재 상태가 사라질 수 있습니다.

참고로 이 경우 form 요소 내에서 사용하는 form submit용 button 역할인 거 같은데, 그렇다면 생략해도 되지만 type="submit"으로 명시하는 것이 의도를 알 수 있어 더 좋습니다.

button 태그의 type 속성: 버튼의 행동 방식. 가능한 값은 다음과 같습니다.
-submit: 버튼이 서버로 양식 데이터를 제출합니다. 지정하지 않은 경우 기본값이며, 유효하지 않은 값일 때도 사용합니다.
-reset: 처럼, 모든 컨트롤을 초깃값으로 되돌립니다.
-button: 기본 행동이 없으며 클릭했을 때 아무것도 하지 않습니다. 클라이언트측 스크립트와 연결할 수 있습니다.
https://developer.mozilla.org/ko/docs/Web/HTML/Element/button

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

fix: sprint2 수정 사항 반영
피드백 사항에 맞추어 수정하였습니다.

넵 명시하는 것이 의도를 더 드러낼 수 있겠네요!

</div>

<div class="form__block">
<div class="form__easy-login">
<span>간편 로그인하기</span>
<a
href="https://www.google.com/"
target="_blank"
rel="noopener noreferrer"
>
Comment on lines +65 to +69
Copy link
Collaborator

Choose a reason for hiding this comment

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

a 요소에 적절한 속성을 넣어주셨네요 👍

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

감사합니다 👍

<img src="/assets/icon/ic_google.svg" alt="google-icon" />
</a>
<a
href="https://www.kakaocorp.com/page/"
target="_blank"
rel="noopener noreferrer"
>
<img src="/assets/icon/ic_kakao.svg" alt="kakao-icon" />
</a>
</div>
</div>

<div class="form__block form__link">
<span>판다마켓이 처음이신가요?</span>
<a href="/signup.html">회원가입</a>
</div>
</form>
</body>
</html>
116 changes: 116 additions & 0 deletions signup.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0"
/>
<link rel="stylesheet" href="/styles/variables.css" />
<link rel="stylesheet" href="/styles/reset.css" />
<link rel="stylesheet" href="/styles/auth.css" />

<link
rel="stylesheet"
type="text/css"
href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css"
/>
<title>판다마켓</title>
</head>
<body>
<div class="logo">
<a href="/">
<img
width="396"
height="132"
src="/assets/icon/main-logo.svg"
alt="logo"
/></a>
</div>

<form class="signup-form">
<div class="form__block">
<label for="email">이메일</label>
<input
id="email"
name="email"
type="email"
Copy link
Collaborator

Choose a reason for hiding this comment

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

input의 type에도 여러 가지 종류가 있죠.
email을 입력하는 input에는 이와 같이 email type을 해주시면 좋습니다. 👍

placeholder="이메일을 입력해주세요"
/>
</div>

<div class="form__block">
<label for="username">닉네임</label>
<input
id="username"
name="username"
type="text"
placeholder="닉네임을 입력해주세요"
/>
</div>

<div class="form__block">
<label for="password">비밀번호</label>
<div class="password-container">
<input
id="password"
name="password"
type="password"
Copy link
Collaborator

Choose a reason for hiding this comment

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

👍

placeholder="비밀번호를 입력해주세요"
/>
<img
class="password-eye"
src="assets/icon/password_eye.svg"
alt="password-eye"
/>
</div>
</div>

<div class="form__block">
<label for="password-confirm">비밀번호 확인</label>
<div class="password-container">
<input
id="password-confirm"
name="password-confirm"
type="password"
placeholder="비밀번호를 다시 한 번 입력해주세요"
/>
Comment on lines +72 to +77
Copy link
Collaborator

Choose a reason for hiding this comment

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

autocomplete 라는 속성도 있어요. ㅎㅎ 내용 확인해보시고 필요한 경우에 적용해보세요. UX에 도움이 됩니다.
image

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/password#allowing_autocomplete

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

fix: sprint2 수정 사항 반영

넵 autocomplete 속성을 배우게 되었습니다
적용 시에 이전에 입력한 비밀번호가 자동으로 채워지는 것 확인했습니다.

개발 시에 자동으로 채워지는 것이 채워진 이전의 스타일을 확인할 수가 없어
나중에 적용하도록 하겠습니다.

추가적으로 각 input 태그에 required 속성이 필요할 것 같아 적용했습니다!

<img
class="password-eye"
src="assets/icon/password_eye.svg"
alt="password-eye"
/>
</div>
</div>

<div class="form__block">
<button class="form__submit-btn">회원가입</button>
</div>

<div class="form__block">
<div class="form__easy-login">
<span>간편 로그인하기</span>
<a
href="https://www.google.com/"
target="_blank"
rel="noopener noreferrer"
>
<img src="/assets/icon/ic_google.svg" alt="google-icon" />
</a>
<a
href="https://www.kakaocorp.com/page/"
target="_blank"
rel="noopener noreferrer"
>
<img src="/assets/icon/ic_kakao.svg" alt="kakao-icon" />
</a>
</div>
</div>

<div class="form__block form__link">
<span>이미 회원이신가요?</span>
<a href="/login.html">로그인</a>
</div>
</form>
</body>
</html>
Loading
Loading