🐨CoalaCoding
DocsExamplesTry itBoardB반
🐨CoalaCoding

개발자를 위한 한국어 웹 기술 문서

문서

  • JavaScript
  • Web Publishing
  • React
  • Python

커뮤니티

  • 게시판
  • 예제 모음
  • Try it 에디터

기타

  • GitHub
  • 관리자
© 2026 CoalaCoding. All rights reserved.
  • 22_무비앱-완료본
  • 01. GOFLIX 프로젝트 소개와 개발환경 설정
  • 02. React 진입점과 라우팅 설정
  • 03. Axios로 TMDB API 연결하기
  • 04. 공통 UI 컴포넌트 만들기 (UI.jsx)
  • 05. App.jsx — 레이아웃 구성과 데이터 가져오기
  • 06. Header와 Footer 만들기
  • 07. Home.jsx — 메인 페이지 완성하기
  • 08. Section과 Card — 영화 카드 목록 만들기
  • 09. MovieDetail — 영화 상세 페이지 만들기
  • 10. Category, ErrorPage 완성하기
  • 11. AI 챗봇 연동하기
  • 12_Swiper_캐러셀_적용과_프로젝트_마무리
  • 13. GOFLEX Gemini CLI 바이브코딩 프롬프트 템플릿
  • 00_시작하기
  • 01_App
  • 02_CSS
  • 03_Nav
  • 04_Hero
  • 05_AboutMe
  • 06_Projects
  • 07_Contact
  • 08_Footer
  • 09_완성_정리
  • 10_바이브코딩
  1. 홈
  2. 문서
  3. React
  4. 실전 프로젝트
  5. 06. Header와 Footer 만들기

06. Header와 Footer 만들기

고정 헤더와 푸터를 구현한다

코드 블록의 Try it Yourself 버튼으로 직접 실행할 수 있다.

구문

💡TIP

Gemini CLI로 구현하기 — Header & Footer 컴포넌트

  • 프롬프트: gemini "src/components/Header.jsx와 Footer.jsx를 작성해줘. Header는 fixed로 상단에 고정되고, [로고명] 텍스트 클릭 시 홈(/)으로 이동해야 해. Container 컴포넌트(./UI에서 import)를 사용해서 내용을 가운데 정렬해줘. Footer는 하단에 로고와 저작권 문구를 표시해줘. Tailwind CSS를 사용해줘."
    • 사용 가이드: [로고명]을 서비스 이름(예: GOFLEX)으로 바꾼다. 네비게이션 메뉴가 필요하면 프롬프트 마지막에 "헤더에 [메뉴 목록] 링크도 추가해줘"를 덧붙인다.

1. 이번 편에서 만들 것

컴포넌트기능
Header로고 + 고정 상단 바
Footer하단 로고 + 저작권 표시

2. Footer — 간단한 하단 영역

먼저 쉬운 Footer부터 만든다. src/components/Footer.jsx 파일을 열고 임시 코드를 교체한다.

export function Footer() {
  return (
    <footer className="bg-black border-t border-gray-800 py-8">
      <div className="container mx-auto px-6 text-center">
        <span className="text-xl font-bold text-yellow-400">GOFLEX</span>
        <p className="text-gray-600 text-xs mt-4">© 2026 GOFLEX. All rights reserved.</p>
      </div>
    </footer>
  );
}
줄설명
3border-t — 요소 상단에 1px 실선을 그린다. border-gray-800으로 어두운 회색 구분선이 된다.
5노란색 로고 텍스트이다.
6text-xs — Tailwind에서 가장 작은 글꼴 크기(0.75rem)이다. 저작권 표시처럼 눈에 띄지 않아야 하는 텍스트에 사용한다.

3. Header 작성

src/components/Header.jsx 파일을 열고 임시 코드를 모두 지운 뒤 아래를 작성한다.

import { Link } from "react-router";
import { Container } from "./UI";

export function Header() {
  return (
    <header className="fixed w-full top-0 left-0 z-50 bg-black/95">
      <Container className="flex items-center justify-between py-4">
        <Link to="/">
          <span className="text-2xl font-bold text-yellow-400">GOFLEX</span>
        </Link>
      </Container>
    </header>
  );
}

줄설명
1Link — 페이지 이동 컴포넌트이다. 로고 클릭 시 홈(/)으로 이동하는 데 사용한다.
24편에서 만든 Container 컴포넌트를 가져온다. 내용의 최대 너비를 제한하고 가운데 정렬하는 공통 레이아웃이다.
6fixed — 스크롤해도 화면 상단에 고정된다. w-full top-0 left-0 — 화면 가로 전체에 딱 붙어 있다. z-50 — 다른 요소보다 위에 표시된다. bg-black/95 — 95% 불투명 검정 배경이다.
7Container에 className을 추가한다. flex items-center justify-between — 자식 요소를 가로로 배치하고 양 끝으로 밀어낸다. py-4 — 위아래 안쪽 여백이다.
8-10Link to="/" — 로고 클릭 시 홈 페이지로 이동한다.

4. 동작 확인

확인 항목기대 결과
상단 헤더"GOFLEX" 로고가 검정 배경 위에 표시된다
스크롤헤더가 항상 화면 상단에 고정된다
로고 클릭홈(/)으로 이동한다
하단"GOFLEX" 로고 + 저작권 표시

5. 전체 코드

import { Link } from "react-router";
import { Container } from "./UI";

export function Header() {
  return (
    <header className="fixed w-full top-0 left-0 z-50 bg-black/95">
      <Container className="flex items-center justify-between py-4">
        <Link to="/">
          <span className="text-2xl font-bold text-yellow-400">GOFLEX</span>
        </Link>
      </Container>
    </header>
  );
}

목차

  • 구문