diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index a8581477..e37a36b9 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -2,24 +2,54 @@ ### 기본 -- [x] -- [] -- [] +- [x] Github에 PR(Pull Request)을 만들어서 미션을 제출합니다. +- [x] 피그마 디자인에 맞게 페이지를 만들어 주세요. +- [x] React와 같은 UI 라이브러리를 사용하지 않고 진행합니다. -### 심화 +### 체크리스트 [기본] -- [x] -- [] +#### 공통 + +- [x] Viewport 너비 기준 반응형 디자인 적용 + - [x] PC: 1200px 이상 + - [x] Tablet: 768px 이상 ~ 1199px 이하 + - [x] Mobile: 375px 이상 ~ 767px 이하 +- [x] 375px 미만 사이즈는 고려하지 않음 + +#### 랜딩 페이지 + +- [x] Tablet: 로고 좌측 24px, 로그인 버튼 우측 24px 여백 유지 +- [x] Mobile: 로고 좌측 16px, 로그인 버튼 우측 16px 여백 유지 +- [x] 화면이 줄어들면 푸터 영역 간격이 줄어듦 + +#### 로그인 & 회원가입 페이지 공통 + +- [x] Tablet: PC 디자인 동일하게 유지 +- [x] Mobile: 좌우 여백 16px, 요소 최대 너비 400px 제한 + +### 체크리스트 [심화] + +- [x] 랜딩 페이지에 Open Graph 메타 태그 적용 + - [ ] 제목: “판다 마켓” + - [ ] 설명: “일상의 모든 물건을 거래해보세요” + - [ ] 주소/이미지: 자유 설정 + +--- ## 주요 변경사항 -- -- +- 반응형 레이아웃 구현 +- 메타 태그 설정 (OG 태그) +- 모바일 최적화 스타일링 반영 + +--- ## 스크린샷 ![image](이미지url) +--- + ## 멘토에게 - diff --git a/index.html b/index.html index f2c3c7f9..2e8abf77 100644 --- a/index.html +++ b/index.html @@ -9,27 +9,30 @@
- - -
+ + 로그인 +
@@ -58,7 +62,7 @@

판다마켓

- 구매를 원하는
+ 구매를 원하는
상품을 검색하세요
- 상품 검색 배너 + 상품 검색 배너
@@ -81,44 +89,79 @@

판다마켓

Register
- 판매를 원하는
+ 판매를 원하는
상품을 등록하세요
-
믿을 수 있는
판다마켓 중고 거래
- 팬더둘이 서로 손흔들며 소통하고있는 사진 +
+ 믿을 수 있는
+ 판다마켓 중고 거래
+ 팬더둘이 서로 손흔들며 소통하고있는 사진
+ diff --git a/login/index.html b/login/index.html index 7ba7f3bb..81b40fd1 100644 --- a/login/index.html +++ b/login/index.html @@ -10,7 +10,11 @@
- +
diff --git a/style.css b/style.css index da5054b3..8b076fb3 100644 --- a/style.css +++ b/style.css @@ -1,5 +1,17 @@ @import '/style/index.css'; +:root { + --container-max-width: 400px; + --container-padding: 0 16px; +} + +@media (min-width: 768px) and (max-width: 1199px) { + :root { + --container-max-width: 640px; + --container-padding: 0 24px; + } +} + header { position: sticky; top: 0; @@ -109,7 +121,6 @@ header { width: 988px; height: 444px; border-radius: 12px; - overflow: hidden; } .banner-image { @@ -139,6 +150,7 @@ header { line-height: 140%; height: 222px; height: 112px; + word-break: keep-all; } .hot_footer { @@ -168,7 +180,6 @@ header { flex-wrap: wrap; border-radius: 12px; background-color: var(--light-bg); - overflow: hidden; } .search-section { @@ -201,6 +212,7 @@ header { text-align: right; vertical-align: middle; margin-bottom: 24px; + word-break: keep-all; } .banner3-footer { @@ -247,7 +259,7 @@ header { flex-wrap: wrap; border-radius: 12px; background-color: var(--light-bg); - overflow: hidden; + /* overflow: hidden; */ } .register-section { @@ -262,6 +274,10 @@ header { color: var(--primary-color); } +.banner4_img { + border-radius: 12px; +} + .banner4_main { width: 293px; height: 112px; @@ -272,6 +288,7 @@ header { vertical-align: middle; margin-top: 12px; color: var(--text-color); + word-break: keep-all; } .banner4_footer { @@ -369,3 +386,455 @@ span { display: flex; gap: 12px; } + +/* 테블릿 화면 (최대 1199px)용 반응형 스타일 */ + +@media (min-width: 768px) and (max-width: 1199px) { + .banner { + height: 771px; + } + + .header-inner { + width: 100%; + padding: 0 24px; + box-sizing: border-box; + } + + .banner-container { + flex-direction: column; + margin: 0 auto; + height: 100%; + } + + .line-break { + display: none; + } + + .banner-content { + display: contents; + width: 515px; + height: 136px; + } + + .banner-text { + margin-top: 84px; + margin-bottom: 24px; + text-align: center; + width: 100%; + } + + .line-break-main { + display: none; + } + + .button { + width: 357px; + margin-bottom: 211px; + } + + .banner_2 { + flex-direction: column; + height: auto; + } + .banner_2_container { + flex-direction: column; + align-items: start; + height: auto; + box-sizing: border-box; + width: 100%; + padding: 24px 24px 0px 24px; + margin-bottom: 52px; + } + + .banner-image { + padding: 0; + display: flex; + justify-content: center; + width: 100%; + } + + .hot_item { + width: 100%; + height: auto; + border-radius: 14.2px; + } + + .banner-text-right { + margin: 32px 0 0 0; + } + + .hot_main { + font-size: 32px; + height: auto; + } + + .hot_footer { + line-height: 26px; + font-size: 18px; + } + + .banner3 { + margin-top: 0; + height: auto; + } + + .banner3-container { + flex-direction: column-reverse; + height: auto; + width: 100%; + padding: 0 24px; + margin-bottom: 52px; + } + + .banner3-right { + width: 100%; + } + + .banner3_img { + width: 100%; + } + + .banner3-main { + font-size: 32px; + word-break: keep-all; + } + + .banner3-footer { + font-size: 18px; + } + .search-section { + margin: 0; + width: 100%; + max-width: 100%; + } + + .banner4 { + flex-direction: column; + height: auto; + margin-bottom: 52px; + } + + .banner4_container { + display: flex; + flex-direction: column; + width: 100%; + height: 100%; + padding: 0 24px; + box-sizing: border-box; + gap: 24px; + } + + .banner4_img { + width: 100%; + border-radius: 14px; + } + + .register-section { + margin: 0; + width: 100%; + } + + .banner4_main { + width: 100%; + height: auto; + font-size: 32px; + word-break: keep-all; + } + + .banner4_footer { + font-size: 18px; + } + .banner5 { + flex-direction: column; + height: 927px; + margin-top: 0; + } + + .banner5_left { + text-align: center; + } + + .banner5_container { + flex-direction: column; + width: 100%; + height: 100%; + box-sizing: border-box; + } + .footer_content { + flex-direction: row; + justify-content: center; + align-items: center; + flex-wrap: wrap; + gap: 116px; + text-align: center; + } + + .footer_center { + margin: 0; + } +} + +/* 모바일 화면 (최대 767px)용 반응형 스타일 */ +@media (max-width: 767px) and (min-width: 375px) { + body { + overflow-x: hidden; + } + + .line-break { + display: none; + } + + .header-inner { + width: 100%; + padding: 0 16px; + box-sizing: border-box; + } + + .banner { + height: auto; + box-sizing: border-box; + padding-top: 60px; + flex-direction: column; + } + + .banner-container { + flex-direction: column; + align-items: center; + gap: 24px; + height: auto; + width: 100%; + } + + .first_banner_img { + width: 100%; + height: auto; + } + + .banner-content { + width: 100%; + align-items: center; + text-align: center; + padding: 0px 60px; + } + + .banner-text { + font-size: 32px; + } + + .button { + width: 100%; + padding: 12px 0; + } + + /* Banner 2 */ + .banner_2 { + padding: 40px 8px; + box-sizing: border-box; + flex-direction: column; + align-items: center; + height: auto; + } + + .banner_2_container { + width: 100%; + flex-direction: column; + padding: 0; + gap: 24px; + } + + .banner-image { + width: 100%; + text-align: center; + padding: 0; + } + + .hot_item { + width: 100%; + height: auto; + object-fit: cover; + border-radius: 7px; + } + + .hot_main { + margin: 8px 0 0 0; + font-size: 24px; + height: auto; + } + + .hot_footer { + font-size: 16px; + margin: 16px 0 0 0; + line-height: 26px; + } + + .banner-text-right { + width: 100%; + text-align: left; + margin: 0; + } + + /* Banner 3 */ + .banner3 { + padding: 40px 16px; + flex-direction: column; + box-sizing: border-box; + align-items: center; + gap: 16px; + height: auto; + } + + .banner3-container { + flex-direction: column-reverse; + width: 100%; + gap: 24px; + align-items: center; + flex-wrap: nowrap; + } + + .banner3-right { + margin-right: 0px; + } + + .banner3-main { + font-size: 24px; + word-break: keep-all; + } + + .banner3-footer { + font-size: 18px; + line-height: 120%; + } + + .search-section { + width: 100%; + text-align: center; + padding: 0; + margin: 0; + gap: 0px; + } + + .banner3_img { + border-radius: 7px; + } + + .banner3-right img { + width: 100%; + height: auto; + } + + /* Banner 4 */ + .banner4 { + padding: 40px 16px; + flex-direction: column; + box-sizing: border-box; + height: auto; + margin: 0px; + } + + .banner4_container { + flex-direction: column; + width: 100%; + gap: 24px; + flex-wrap: nowrap; + } + + .banner4_img { + width: 100%; + height: auto; + } + + .register-section { + width: 100%; + text-align: left; + margin: 0; + } + + .banner4_main { + font-size: 24px; + width: auto; + height: auto; + word-break: keep-all; + } + + .banner4_footer { + margin: 16px 0 0 0; + font-size: 16px; + line-height: 120%; + } + + /* Banner 5 */ + .banner5 { + padding-top: 121px; + flex-direction: column; + align-items: center; + box-sizing: border-box; + height: auto; + } + + .banner5_container { + flex-direction: column; + width: 100%; + align-items: center; + } + + .banner5_left { + width: 100%; + text-align: center; + padding-bottom: 20px; + font-size: 32px; + } + .banner5_img { + width: 100%; + } + /* Footer */ + footer { + padding: 24px 16px; + height: auto; + } + + .footer_container { + height: 160px; + margin: 0; + } + + .footer_content { + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: flex-start; + gap: 16px; + padding: 20px; + height: 130px; + } + + .footer_center { + display: flex; + justify-content: space-between; + align-items: flex-start; + width: 100%; + position: relative; + } + + .footer_center .privacy { + position: absolute; + left: 0; + } + + .footer_center .faq { + position: absolute; + left: 50%; + transform: translateX(-50%); + } + + .footer_icons { + position: absolute; + margin-left: auto; + left: 80%; + transform: translateX(-50%); + } + + .footer_container span { + order: 2; + font-size: 14px; + } +}