✏️ 구현 내용

yotube 클론 코딩

  • youtube 첫 페이지 구현하기
  • (page 이동, video 클릭 없이 오직 UI 부분만 구현)
  • 왼쪽 상단의 메뉴 버튼을 눌렀을 때 다른 메뉴 슬라이드로 나오게 하기
  • video에 마우스 올리면 커지고 빼면 작아지게 하기

** SEO, Media query 적용하기 → semantic tag, 화면 크기에 따라 nav바 유무와 video 크기 조정

ES6 문법 적용하기

  • var → let, const
  • 반목문 → forEach, map
  • Event delegation
  • destructing
  • 함수 람다식

👩‍💻 Issue

  • css 적용 ⭕
  • → flex로 구성
  • menu, video에서 중복 코드 제거 ⭕
  • → forEach로 createvideo, createmenu 함수 여러개 만들어 줌
  • CORS 에러 ⭕
  • → http-server로 해결

⛏️ 피드백

1️⃣ type=module 제거

<script src="src/header/header.js"></script>
<script src="src/headerMenu/headerMenu.js"></script>
<script src="src/headerMenu/headerMenuHover.js"></script>
<script src="src/headerMenu/menuBar.js"></script>
<script src="src/menu/menu.js"></script>
<script src="src/menu/menuHover.js"></script>
<script src="src/video/video.js"></script>
<script src="src/video/videoHover.js"></script>
<script src="src/svg.js"></script>
<script src="src/index.js"></script>

type=module로 선언해 CORS 에러가 발생하여 http-server을 이용했는데 사용해야 할 이유가 없다. js 파일로 나누어 script 태그에 넣어주기만 하면 된다.

2️⃣ body html 태그에 style 금지

<body style="margin: 0">
body {
  margin: 0;
}

3️⃣ Sementic tag 적용

<header id="header"></header>
<nav id="menus"></nav>
<main id="container"></main>

SEO를 위해 sementic tag를 적용한다.

4️⃣ Mediaquery로 Nav, SearchBar 사라지게 하기

@media screen and (max-width: 792px) {
  #menus {
    display: none;
  }
}
@media screen and (max-width: 656px) {
  #search > input {
    display: none;
  }
  #searchButton {
    outline: 0;
    border: 0;
    background-color: white;
  }
}

@media screen and (max-width: 500px) {
  #search > input {
    display: none;
  }
  #searchButton {
    outline: 0;
    border: 0;
    background-color: white;
  }
}

mediaquery로 화면 크기에 따라 nav바와 검색창이 줄어들게 한다. max-width는 유튜브 창을 조절해보며 얻은 값이다.

🧷 Github

stageus_front-end/youtube at main · kknyapple/stageus_front-end

'Assignment' 카테고리의 다른 글

week3 - hook  (0) 2022.12.10
week2 - Component  (0) 2022.12.10
스테이지어스 was  (0) 2022.10.08
스테이지어스 4주차 과제  (0) 2022.10.08
스테이지어스 3주차 과제  (0) 2022.10.03

+ Recent posts