Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
00ddaf0
💄Style: assets 추가
HarrySeop Feb 24, 2025
8a09a7a
✨Feat: 미션을 위한 최초 세팅완료
HarrySeop Feb 24, 2025
1df73de
🎨Chore: 스타일 선언 변경
HarrySeop Feb 24, 2025
e24eab6
🎨Chore: 폰트 스타일 분리
HarrySeop Feb 24, 2025
2d14345
✨Feat: 헤더 구현 완료
HarrySeop Feb 24, 2025
2935b91
🎨Chore: 헤더 스타일 분리 & 상단 고정
HarrySeop Feb 24, 2025
b862945
🎨Chore: 헤더 css 수정
HarrySeop Feb 24, 2025
27140fe
🎨Chore: 폰트 스타일 추가
HarrySeop Feb 24, 2025
cf323da
✨Feat: 배너 구현 완료
HarrySeop Feb 24, 2025
54c9de4
♻️Chore: 반응형 기준 변경
HarrySeop Feb 24, 2025
07571e5
🎨Chore: 배너 스타일 분리 & 반응형 기준 변경
HarrySeop Feb 25, 2025
27f0c81
✨Feat: 정보 섹션 구조 구현
HarrySeop Feb 25, 2025
eddc927
✨Feat: 정보 섹션 pc 디자인 구현 & 반응형 분리
HarrySeop Feb 25, 2025
e69601a
🎨Style: 정보 섹션 테블릿 반응형 구현
HarrySeop Feb 25, 2025
63fb403
♻️Chore: 정보 섹션 스타일 코드 분리, 주석 추가
HarrySeop Feb 25, 2025
3cdcbce
🎨Style: 정보 섹션 모바일 반응형 구현
HarrySeop Feb 25, 2025
280376e
✨Feat: 하단 배너 구현 완료
HarrySeop Feb 25, 2025
8110262
🎨Chore: 아이콘 변경
HarrySeop Feb 25, 2025
154ec63
✨Feat: 푸터 구현 완료
HarrySeop Feb 25, 2025
8cc45e3
♻️Chore: 푸터 스타일 코드 분리
HarrySeop Feb 25, 2025
d90b26e
🎨Style: 푸터 반응형 구현
HarrySeop Feb 25, 2025
268771c
🔥Delete: 사용하지 않은 클래스 삭제
HarrySeop Feb 25, 2025
0e7bd68
♻️Chore: 푸터 스타일 변경
HarrySeop Feb 25, 2025
ce14bbc
♻️Chore: 창 깨짐 문제 해결
HarrySeop Feb 25, 2025
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
Binary file added assets/favicon.ico
Binary file not shown.
10 changes: 10 additions & 0 deletions assets/icons/icon_facebook.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 12 additions & 0 deletions assets/icons/icon_instagram.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions assets/icons/icon_x.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions assets/icons/icon_youtube.svg
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 assets/images/Img_home_01.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 assets/images/Img_home_02.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 assets/images/Img_home_03.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 assets/images/Img_home_bottom.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 assets/images/Img_home_top.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 assets/logos/logo_lg.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 assets/logos/logo_md.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 assets/logos/logo_sm.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 assets/logos/logo_typo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
150 changes: 150 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>판다마켓</title>

<meta name="description" content="판다마켓 - Sprint-Mission 1" />
<meta name="keywords" content="판다마켓" />
<meta name="author" content="Codeit Sprint FrontEnd" />

<meta property="og:title" content="판다마켓" />
<meta property="og:description" content="판다마켓 - Sprint-Mission 1" />
<!-- <meta property="og:image" content="배포 후 추가 예정" /> -->
<!-- <meta property="og:url" content="배포 후 추가 예정"/> -->

<link rel="icon" href="./assets/favicon.ico" type="image/x-icon" />

<link
rel="stylesheet"
as="style"
crossorigin
href="https://cdn.jsdelivr.net/gh/orioncactus/[email protected]/dist/web/variable/pretendardvariable-dynamic-subset.min.css" />

<link rel="stylesheet" href="./styles/reset.css" />
<link rel="stylesheet" href="./styles/typography.css" />
<link rel="stylesheet" href="./styles/header.css" />
<link rel="stylesheet" href="./styles/banner.css" />
<link rel="stylesheet" href="./styles/info.css" />
<link rel="stylesheet" href="./styles/footer.css" />
<link rel="stylesheet" href="./styles/index.css" />
</head>
<body>
<header class="header">
<a href="/" class="header__logo">
<picture>
<source media="(max-width: 480px)" srcset="./assets/logos/logo_typo.png" />
<img src="./assets/logos/logo_sm.png" alt="판다마켓 로고" />
</picture>
</a>
Comment on lines +35 to +40
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

헤더 로고를 이미지로 다운받았다보니 picture을 사용해서 로고를 변화하게 구현했습니다.
반응형을 통해 이미지를 바꿔야 할일이 생긴다면 이런식으로 구현하는지 아니면 잘못된 방법인지 리뷰 부탁드립니다!

Copy link
Collaborator

Choose a reason for hiding this comment

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

반응형 디자인은 1주차 요구사항이 아닌데 같이 구현하셨네요!
저는 요구사항과 디자인을 잘 반영했다면 충분히 좋은 방법이라고 생각해요.
위에서도 말씀드렸지만, 왜 이런 방식으로 구현하셨는지, 혹시 다른 방법도 고민해 보셨는지 그리고 어떤 기준으로 이 방식으로 고르셨는지 함께 공유해 주시면 더 정확한 피드백을 드릴 수 있을 것 같습니다!

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

판다마켓 이라는 텍스트를 이미지로 관리하다보니 PC, 테블릿은 판다마켓 로고 + 판다마켓 으로 표현되어야 하고, 모바일 일때는 로고가 없느 판다마켓으로만 보여야하길래 picture 태그를 사용해서 width값 변화에 의해 이미지를 변경하게 구현했습니다. 처음 사용해보는 방법이고, 평소였다면 텍스트를 스타일값을 준 뒤, 앞에 이미지로고만 width값이 모바일 너비로 들어오면 안보이게 구현했을 것 같습니다.

Copy link
Collaborator

Choose a reason for hiding this comment

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

작업하신 방법도 적절합니다. 현 디자인의 경우 텍스트가 사이트내에서 사용되는 폰트와 다른 값이라 기존 방식대로 작업할 수 없는 경우니 이미지로 관리하시는 것이 더 적절합니다.
지금처럼 picture 태그를 이용해서 viewport별 이미지를 정해주셔도 되고, 아니면 텍스트와 로고 이미지를 분리 관리해서 평소 작업하시던 것처럼 작업하셔도 됩니다!
결론을 말씀드리자면 반응형 이미지를 처리할때, 이미지를 최적화 할때 picture 태그를 이용할 수 있고 이는 잘못된 방법이 아닙니다!

<a href="/login" class="header__login font-semibold text-lg">로그인</a>
Copy link
Collaborator

Choose a reason for hiding this comment

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

❗️ 수정요청
현재 코드에서 태그를 클릭하면 notFound 에러가 발생하고 있습니다.
이는 "/login" 경로에 해당하는 파일을 찾을 수 없기 때문인데요.
이를 해결하는 방법은 여러 가지가 있지만, 지금 단계에서는 확장자를 명시적으로 추가하는 방법을 추천드립니다.

지섭님이 코딩에 능숙하신 것 같아서 추천드리자면 왜 이렇게 동작하는지 고민해보세요~
그리고 작업을 하신 후 클릭 가능한 요소들은 직접 만져보시면서 테스트 하시는 것을 추천드립니다~

Suggested change
<a href="/login" class="header__login font-semibold text-lg">로그인</a>
<a href="/login.html" class="header__login font-semibold text-lg">로그인</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.

빈페이지로 이동하라는 것이 빈 html로 이동하라는 것인지 모르고 라우트로만 해결하려고 했었습니다..!
미션2때 반영해두도록 하겠습니다!

</header>

<main>
<section class="banner">
<div class="banner__container">
<div class="banner__content">
<p class="banner__title font-bold text-4xl">
Copy link
Collaborator

Choose a reason for hiding this comment

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

👍 칭찬
유틸 클래스를 만드셔서 같이 사용하셨군요 👍

일상의 모든 물건을<br />
거래해보세요
</p>
<a href="/items" class="banner__button font-semibold text-xl">구경하러 가기</a>
</div>
<img src="./assets/images/Img_home_top.png" alt="판다마켓 배너 이미지" class="banner__image" />
</div>
</section>

<section class="info">
<div class="info__container">
<div class="info__wrapper">
<img src="./assets/images/Img_home_01.png" alt="인기 상품" class="info__image" />
<div class="info__content">
<p class="info__category text-lg font-bold">Hot item</p>
<p class="info__title text-4xl font-bold">
인기 상품을<br />
확인해 보세요
</p>
<p class="info__description text-2xl font-medium">
가장 HOT한 중고거래 물품을<br />
판다 마켓에서 확인해 보세요
</p>
</div>
</div>
</div>

<div class="info__container">
<div class="info__wrapper info__wrapper--reverse">
<img src="./assets/images/Img_home_02.png" alt="상품 검색" class="info__image" />
<div class="info__content">
<p class="info__category text-lg font-bold">Search</p>
<p class="info__title text-4xl font-bold">
구매를 원하는<br />
상품을 검색하세요
</p>
<p class="info__description text-2xl font-medium">
구매하고 싶은 물품은 검색해서<br />
쉽게 찾아보세요
</p>
</div>
</div>
</div>

<div class="info__container">
<div class="info__wrapper">
<img src="./assets/images/Img_home_03.png" alt="상품 등록" class="info__image" />
<div class="info__content">
<p class="info__category text-lg font-bold">Register</p>
<p class="info__title text-4xl font-bold">
판매를 원하는<br />
상품을 등록하세요
</p>
<p class="info__description text-2xl font-medium">
어떤 물건이든 판매하고 싶은 상품을<br />
쉽게 등록하세요
</p>
</div>
</div>
</div>
</section>

<section class="bottom_banner banner">
<div class="banner__container">
<div class="banner__content">
<p class="banner__title font-bold text-4xl">
믿을 수 있는<br />
판다마켓 중고 거래
</p>
</div>
<img src="./assets/images/Img_home_bottom.png" alt="판다마켓 바텀 배너 이미지" class="banner__image" />
</div>
</section>
</main>

<footer class="footer">
<div class="footer__container">
<p class="footer__copyright">@codeit - 2025</p>

<nav class="footer__nav">
<a href="/privacy" class="footer__link">Privacy Policy</a>
<a href="/faq" class="footer__link">FAQ</a>
</nav>

<div class="footer__sns">
<a href="https://facebook.com" target="_blank" class="footer__icon">
<img src="./assets/icons/icon_facebook.svg" alt="Facebook" />
</a>
<a href="https://x.com" target="_blank" class="footer__icon">
<img src="./assets/icons/icon_x.svg" alt="X" />
</a>
<a href="https://youtube.com" target="_blank" class="footer__icon">
<img src="./assets/icons/icon_youtube.svg" alt="YouTube" />
</a>
<a href="https://instagram.com" target="_blank" class="footer__icon">
<img src="./assets/icons/icon_instagram.svg" alt="Instagram" />
</a>
</div>
Comment on lines +133 to +146
Copy link
Collaborator

Choose a reason for hiding this comment

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

💊 제안
이 영역은 로고들의 모음이라고 할 수 있습니다. 관련된 요소들끼리 묶인 목록이니 의미록적인 마크업을 작성한다면 list 관련 태그로 작성하시는 것을 추천드립니다.

        <ul class="footer__sns">
          <li>
            <a href="https://facebook.com" target="_blank" class="footer__icon">
              <img src="./assets/icons/icon_facebook.svg" alt="Facebook" />
            </a>
          </li>
        </div>

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

ul, li를 목록으로만 생각했는데 로고의 모음도 이런식으로 표현하는게 맞다고 생각합니다! 감사합니다!

</div>
</footer>
</body>
</html>
37 changes: 37 additions & 0 deletions styles/banner.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
.banner {
display: flex;
align-items: flex-end;
justify-content: center;
background-color: #cfe5ff;
height: 540px;
}

.banner__container {
display: flex;
align-items: center;
justify-content: center;
gap: 7px;
}

.banner__content {
display: flex;
flex-direction: column;
justify-content: center;
color: var(--secondary-700);
gap: 32px;
padding-bottom: 60px;
}

.banner__button {
width: 357px;
height: 56px;
padding: 12px 124px;
background-color: var(--primary-100);
color: var(--secondary-50);
border-radius: 40px;
text-decoration: none;
}

.banner__image {
width: 746px;
}
37 changes: 37 additions & 0 deletions styles/footer.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
.footer {
height: 160px;
background-color: var(--secondary-900);
color: var(--secondary-400);
padding: 32px 400px;
line-height: 19.09px;
}

.footer__container {
display: flex;
justify-content: space-between;
align-items: center;
}

.footer__nav {
display: flex;
gap: 30px;
}

.footer__link {
color: var(--secondary-200);
text-decoration: none;
}

.footer__link:hover {
color: var(--secondary-50);
}

.footer__sns {
display: flex;
gap: 12px;
}

.footer__icon img {
width: 20px;
height: 20px;
}
37 changes: 37 additions & 0 deletions styles/header.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
.header {
height: 70px;
display: flex;
align-items: center;
justify-content: space-between;
border-bottom: 1px solid #dfdfdf;
padding: 9.5px 200px;
Copy link
Collaborator

Choose a reason for hiding this comment

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

💬 여담
css에서의 소수점 사용에 대해 다양한 의견이 있습니다.
예전에는 이러한 소수점이 떨어져 나간다는 것이 정론에 가까웠으나, 다양한 해상도가 나오면서 이러한 소수점도 반영된다는 의견이 있습니다.
정확한 명세로 나온것은 없지만, 저는 소수점 사용을 지양하는 편입니다.
만약 같은 화면 크기임에도 해상도에 따라 소수점이 반영되는 것이 갈린다면, 디자인의 일관성이 떨어지는 것이고 소수점 사용은 가독성에 좋지 못하다고 생각하기 때문입니다~
이와 관련해 다양한 논의들이 있으니 참고해보세요!

https://www.reddit.com/r/css/comments/148y3xm/is_it_ok_to_give_text_the_size_in_decimals_like/

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

피그마 속성 값을 보고 스타일을 적용하다보니 생긴 이슈입니다!
혹시나 디자이너가 9.5px로 지정해뒀다면 그걸 따르는 것이 좋은지 아니면 디자이너에게 10px같은 값으로 수정을 요구하는게 맞는지 알려주세요! (미션에서 수정해 달라는 것은 아닙니다!!)

Copy link
Collaborator

Choose a reason for hiding this comment

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

후자입니다~

background-color: #ffffff;
margin: 0 auto;
position: sticky;
top: 0;
}

picture {
Copy link
Collaborator

Choose a reason for hiding this comment

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

💊 제안
css 선택자는 가능하면 클래스명으로 사용하시길 추천드려요.
태그 선택자는 우선도가 낮아서, 주로 overriding 되는 css들-reset.css, common.css-에서 사용하시는 것을 추천드려요.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

로고의 위치만 생각하고 이렇게 구현했던 것 같습니다! 미션2때 반영하도록 하겠습니다!

display: flex;
align-items: center;
}

.header__logo img {
width: 153px;
}

.header__login {
width: 128px;
height: 48px;
padding: 12px 23px;
color: white;
background-color: var(--primary-100);
border-radius: 8px;
text-decoration: none;
text-align: center;
cursor: pointer;
}

.header__login:hover {
background-color: var(--primary-200);
}
Loading
Loading