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

KDT0_ShimJeongAh 이솝 클론 코딩 #47

Open
wants to merge 12 commits into
base: main
Choose a base branch
from
Open

Conversation

joanShim
Copy link

Aesop 웹사이트 클론코딩

Aesop 대한민국의 스킨케어 페이지를 HTML, css, JS를 이용해 클론한 프로젝트

원본 링크 : https://www.aesop.com/kr/c/skin/
클론 데모 : https://aesop-clone-yfe.netlify.app/




📅 프로젝트 기간

2023.07.24 ~ 2023.07.28

프로젝트 소개

  • header, nav, section, footer 등 시멘틱 태그 활용

  • flex, grid 를 이용한 레이아웃 구조

  • swiper.js를 이용한 슬라이더 구현

  • hover 시 css 애니메이션 동작


🖥 구현 내용

헤더 + 메인 제품 카테고리
제품 슬라이더 피부 타입
블렌딩 추천 아티클
푸터

🕹 주요 기능

Jul-28-2023 19-42-15

  1. 스크롤 내릴때 나타나는 요쇼들 fade in 효과


Jul-28-2023 19-42-15
2. 스크롤에 따라 사라지고 나타나는 헤더



Jul-28-2023 19-43-14
3. swiper.js 라이브러리를 이용한 제품 슬라이더



Jul-28-2023 20-05-43
4. 그리드 디스플레이와 hover시 이미지가 어두워지는 효과




JS를 사용한 부분

  1. 슬라이더 구현 (Swiper.js 라이브러리)
  2. 스크롤 이벤트에 따라 사라지고 나타나는 헤더 구현
  3. 최초 스크롤 시 지정 요소들 fade in 되는 효과 구현

보완하고 싶은 부분

  • 반응형 레이아웃 추가
  • ::after ::before등을 이용한 장식적으로 사용된 요소들(화살표 등) 치환. 더 간결한 마크업
  • 반복적으로 사용되는 css 요소들 클래스화

@joanShim joanShim requested a review from jaewonhimnae July 28, 2023 11:51
@joanShim joanShim self-assigned this Jul 28, 2023
@tkyoun0421
Copy link

너무 고생하셨습니다~~!
index.css에 .nav-wrap 요소에 font-size: calc(10px + 0.3vw) 라는 vw 뷰포트 반응 단위가 들어가 있는데 어떤 이유인지 궁금합니다!

@JitHoon
Copy link

JitHoon commented Jul 28, 2023

스크롤에 따라 header가 나타나는 부분 어떻게 구현하셨는지 궁금했는데, scroll 이벤트 js 소스코드 잘 보고 배웠습니다~! 사이트 멋있네요!

@2YH02
Copy link

2YH02 commented Jul 29, 2023

클래스 이름들이 직관적이어서 보기에 너무 편합니다. 그리고 자주 사용하는 flex나 gird 속성을 클래스로 만들어 놓고 사용하는 거 정말 좋은 방법인 것 같습니다. 잘 배웠습니다!

@seungsimdang
Copy link

swiper js를 활용하여 슬라이더를 깔끔하게 구현하셔서 저도 같은 고민을 하던 사람으로서 참고할 부분이 많았습니다!
리드미도 깔끔하게 정리해주셔서 인상깊었습니다!

@chaeminseok
Copy link

common.css에 자주 사용하는 부분들을 미리 class로 빼두어 활용하는 것이 코드 가독성도 좋고 편리한 것 같습니다 .
고생많이 하셨습니다!!

Copy link

@LEEJAEHYUB LEEJAEHYUB left a comment

Choose a reason for hiding this comment

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

전반적으로 화면에 대한 구성을 잘하신것 같아요!
반응형 css에 대한 내용을 검색해보셔서 적용하는 법에 대해 학습해보시고 다음 프로젝트에 적용해보시면 좋을것 같습니다.
고생하셨습니다 :)


.find-skin-type {
color: #fffef2;
background: url(https://www.aesop.com/u1nb1km7t5q7/3YaJbvUsAnHr9Wnb6GTU7m/9ce27fe81388b8726f41d3ce91bb2c77/Aesop_Healthy_Skin_Care_and_Support_2022_Web_Homepage_Primary_Consultant_Full_Bleed_Desktop_L_2880x1044px.jpg) center center / cover no-repeat;

Choose a reason for hiding this comment

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

background 스타일 사용할때 한줄로 축약해서 사용하신 것 매우 좋은것 같습니다 :)

css/index.css Outdated
align-items: center;
background-color: #fffef2;
font-size: calc(10px + 0.3vw);
border-bottom: 1px solid rgba(51, 51, 51, 0.2);

Choose a reason for hiding this comment

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

만약 반응형을 사용하시려면 미디어 쿼리를 통해 반응형 페이지를 구현할 수 있을것 같아요!
예를 들어 네비게이션 바에서 모바일, 태블릿 등의 사이즈에서 패딩을 조절한다면

  @media (max-width: 800px) { // 모바일 기준을 800px으로 설정한다면
    padding: 5px 0;
  }

이런식으로 padding의 사이즈를 조절할 수 있을것 같아요!
미디어쿼리에 대해 자세히 공부해보면 좋을것 같습니다 :)

js/main.js Outdated

const fadeEls = document.querySelectorAll(".fade")

fadeEls.forEach((fadeEl, i) => {

Choose a reason for hiding this comment

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

배열의 foreach문에서 parameter로 (fadeEl, i) fadeEls배열의 element와 index의 i를 사용하신것 같습니다.
그런데 index인 i를 사용하지 않으시면 생략하셔도 좋습니다.

@netlify
Copy link

netlify bot commented Aug 7, 2023

Deploy Preview for aesop-clone-yfe ready!

Name Link
🔨 Latest commit 673f6ed
🔍 Latest deploy log https://app.netlify.com/sites/aesop-clone-yfe/deploys/64d1000f3e25be0008ed523f
😎 Deploy Preview https://deploy-preview-47--aesop-clone-yfe.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants