새소식

Web/프론트엔드

Day7 : 스타벅스 웹사이트 만들기 / 푸터 & 페이지 상단으로 이동

  • -

 

HTML/CSS/JS로 스타벅스 웹사이트 만들기

 

개요

 

프로젝트명 : HTML/CSS/JS로 스타벅스 웹사이트 만들기

강의 : 패스트캠퍼스 프론트엔드

분류 : 클론코딩

주요 강의 내용

- html : basic html + font, favicon

- css : basic css, 가상 클래스, bem

- js : basic js, swiper(슬라이드), toggle, gsap.to(순차적 애니메이션), Youtube iframe APII 등

사용 툴 : HTML, CSS, JavaScript

 

패스트캠퍼스 강의를 정리한 내용으로, 개인공부 후 기록하기 위한 목적임으로 내용 상에 오류가 있을 수 있습니다.

 


DAY 7
: 푸터 & 페이지 상단으로 이동

 

푸터 & 페이지 상단으로 이동

* view

마지막 마무리 footer 만들고, 오른쪽 하단에 누르면 최상단으로 올라가는 버튼 만들기 :)


* html code - footer

<!-- Footer --> <footer> <div class="inner"> <ul class="menu"> <li><a href="javascript:void(0)" class="green">개인정보처리방침</a></li> <li><a href="javascript:void(0)">영상정보처리기기 운영관리 방침</a></li> <li><a href="javascript:void(0)">홈페이지 이용약관</a></li> <li><a href="javascript:void(0)">위치정보 이용약관</a></li> <li><a href="javascript:void(0)">스타벅스 카드 이용약관</a></li> <li><a href="javascript:void(0)">윤리경영 핫라인</a></li> </ul> <div class="btn-group"> <a href="javascript:void(0)" class="btn btn--white">찾아오시는 길</a> <a href="javascript:void(0)" class="btn btn--white">신규입점제의</a> <a href="javascript:void(0)" class="btn btn--white">사이트 맵</a> </div> <div class="info"> <span>사업자등록번호 201-81-21515</span> <span>(주)스타벅스 코리아 대표이사 이석구</span> <span>TEL : 02) 3015-1100 / FAX : 02) 3015-1106</span> <span>개인정보 책임자 : 강기원</span> </div> <p class="copyright"> &copy; <span class="this-year"></span> Starbucks Coffee Company. All Rights Reserved. </p> <img src="./images/starbucks_logo_only_text.png" alt="" class="logo"> </div> </footer>

 

 

* css code - footer

/* FOOTER */ footer { background-color: #272727; border-top: 1px solid #333; } footer .inner { padding: 40px 0 60px 0; } footer .menu { display: flex; justify-content: center ; } footer .menu li { position: relative; } footer .menu li::before { content: ""; width: 3px; height: 3px; background-color: #555; position: absolute; top: 0; bottom: 0; right: -1px; margin: auto; } footer .menu li:last-child::before { display: none; } footer .menu li a { color: #ccc; font-size: 12px; font-weight: 700; padding: 15px; display: block; } footer .menu li a.green { color: #669900; } footer .btn-group { margin-top: 20px; display: flex; justify-content: center; } footer .btn-group .btn { font-size: 12px; margin-right: 10px; } footer .btn-group .btn:last-child { margin-right: 0; } footer .info { margin-top: 30px; text-align: center; } footer .info span { margin-right: 20px; color: #999; font-size: 12px; } footer .info span:last-child { margin-right: 0; } footer .copyright { color: #999; font-size: 12px; text-align: center; margin-top: 12px; } footer .logo { margin: 30px auto 0; }

 

 

footer의 경우 디자인에 맞춰서 만들어주면 됐기 때문에 어려운 건 없었다.


맨 하단에 해당년도를 넣어줘야하는데, 자바스크립트로 날짜 객체를 넣어주면 자동으로 현재 날짜 정보를 넣을 수 있어 매년 바꿔주지 않아도 되게끔 만들 수 있다.

 

* js code - footer

// Footer const thisYear = document.querySelector('.this-year'); thisYear.textContent = new Date().getFullYear(); // 현재 날짜 정보 (2022)

Date 객체: 자바스크립트에는 현재 날짜 정보를 가지고 있는 Date 객체가 있다.


* html code - scroll to

<!-- Scroll to --> <div id="to-top"> <div class="material-icons">arrow_upward</div> </div>

위로 향하는 아이콘을 넣어준다.


* css code - scroll to

/* SCROLL TO */ #to-top { width: 42px; height: 42px; background-color: #333; color: #fff; border: 2px solid #fff; border-radius: 10px; cursor: pointer; display: flex; justify-content: center; align-items: center; position: fixed; bottom: 30px; right: 30px; z-index: 9; }

 

* js code - scroll to

// header -> 오른쪽 Badge & scroll control const badgeEl = document.querySelector('header .badges'); const toTopEl = document.querySelector('#to-top'); // _.throttle(함수, 시간/밀리세컨드) window.addEventListener('scroll', _.throttle(function(){ if(window.scrollY > 500){ // 배치 숨기기 gsap.to(badgeEl, .6, { opacity: 0 // 점점 투명해지는 애니메이션이 실행될 것이다. ,display : 'none' }); // 버튼 보이기 gsap.to(toTopEl, .2, { x: 0, // 버튼 보이게 원래 위치로 }); } else { // 배치 보이기 gsap.to(badgeEl, .6, { opacity: 1 // 점점 나타나는 애니메이션이 실행될 것이다. ,display: 'block' }); // 버튼 숨기기 gsap.to(toTopEl, .2, { x: 100, // 버튼 안보이게 숨김. }); } }, 300)); //0.3초(window scroll event가 0.3초 단위로 부활된다.) // Scroll-to toTopEl.addEventListener('click', function() { gsap.to(window, .7, { scrollTo: 0 // 화면의 위치를 0px 위치로 옮기겠다. }) });

1. 챌린지 이전에 했던 거라 기록엔 없지만 화면 오른쪽에 나타나는 badge를 만들었었는데, badge가 나타나고 사라지는 자바스크립트 코드에 하단 scroll 화살표 버튼도 나타나고 사라질 수 있도록 코드를 추가해준다.

 

2. scroll 화살표 버튼을 누르면 상단으로 올라갈 수 있도록 addEventListener를 추가해준다.

여기서 gsap.to 를 사용하고, 그 때 올라가는 요소는 body 전체이므로 window이다.

그리고 상단으로 올라가게 만들저누는 scrollTo 는 ScrollPlugin cdn을 미리 script 태그로 추가해놔야 사용할 수 있다.


스타벅스 웹사이트 만들기 챌린지 완성본 :)

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.