헤더 및 홈 레이아웃

HTMLBeginner
지금 연습하기

소개

우리는 애완동물 애호가들을 위한 따뜻한 온라인 공간을 만들기 위한 여정을 시작합니다. 우리의 시나리오인 "Pet Paradise"는 애완동물 주인들을 활기차고 유익한 웹사이트를 통해 연결하는 것을 꿈꾸는 캐릭터, 혁신가 Alex 를 특징으로 합니다. Alex 의 목표는 애완동물 서비스를 소개하고, 이야기를 공유하며, 커뮤니티를 구축하는 것입니다. 이 시나리오는 학생들을 Alex 의 비전을 디지털 현실로 전환하는 과정을 안내하며 참여를 유도하도록 설계되었습니다.

간단한 프로젝트를 통해 HTML 의 기본 사항을 다루는 것으로 시작하여, 간단한 웹페이지를 만드는 과정을 안내하는 3 개의 랩을 강조할 것입니다.

header animation example

이 Lab 에서는 "Pet's House"의 헤더 섹션과 홈 페이지 레이아웃을 만들 것입니다. 이 섹션은 강력한 첫인상을 남기는 데 매우 중요합니다. 헤더에는 탐색 메뉴가 포함되며, 홈 레이아웃은 방문자에게 웹사이트를 소개합니다.

이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 중급 레벨의 실험이며 완료율은 66%입니다.학습자들로부터 100%의 긍정적인 리뷰율을 받았습니다.

HTML 문서 구조

사용자가 인터넷을 통해 웹을 탐색할 때, 텍스트, 링크, 차트, 이미지 등 다양한 형태의 콘텐츠를 접하게 됩니다.

브라우저가 이 페이지 콘텐츠를 어떻게 표시하는지 궁금했던 적이 있습니까? 아래 그림과 같이 F12를 눌러 페이지의 소스 코드를 볼 수 있습니다.

Picture description

위 그림에서 모든 문자 콘텐츠가 꺾쇠 괄호 <> 안에 묶여 있는 것을 볼 수 있습니다. 이러한 콘텐츠를 **태그 (tags)**라고 하며, <>는 여는 태그를, </>는 닫는 태그를 나타냅니다.

Picture description

HTML 은 태그로 표현되는 요소 (elements) 로 구성된 언어입니다.

HTML (HyperText Markup Language) 은 웹 페이지와 그 콘텐츠의 구조를 만드는 데 사용되는 코드입니다.

  1. 하이퍼 (Hyper): "하이퍼"는 "선형 (Linear)"과 대조됩니다. 이전 컴퓨터 프로그램은 대부분 선형적이었으며, 위에서 아래로 순서대로 실행해야 했습니다. 그러나 HTML 로 생성된 웹 페이지는 하이퍼링크를 통해 한 페이지에서 다른 페이지로 탐색할 수 있습니다.
  2. 텍스트 (Text): C, C++, Java 와 같은 컴파일된 프로그래밍 언어와 달리 HTML 은 텍스트 기반 스크립팅 언어입니다. 소스 코드는 컴파일 없이 브라우저에서 직접 해석되고 실행됩니다.
  3. 마크업 (Markup): HTML 의 기본 원리는 웹 페이지 콘텐츠가 브라우저에서 어떻게 표시되어야 하는지를 설명하기 위해 마크업 (쌍으로 된 꺾쇠 괄호로 구성된 태그) 을 사용하는 것입니다.
  4. 언어 (Language): HTML 은 언어이지만, 컴파일되는 대신 해석됩니다. 모든 마크업 태그는 브라우저에 의해 최종 표시 결과로 변환됩니다.

이 단계에서는 웹 페이지의 기본 구조를 설정하는 것으로 시작합니다. touch ~/project/index.html 명령을 사용하여 /home/labex/project 디렉토리에 index.html이라는 새 HTML 파일을 만듭니다. 선호하는 텍스트 편집기로 이 파일을 열고 기본 HTML 문서 구조를 추가합니다.

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Pet's House</title>
  </head>
  <body>
    <!-- We'll add content here in the next steps -->
  </body>
</html>
  • <!DOCTYPE html> 선언은 브라우저에 어떤 유형의 문서를 예상하는지 알려줍니다.
  • <html lang="en"> 요소는 HTML 문서의 루트 요소입니다.
  • <head> 요소에는 제목 및 문자 집합과 같은 메타데이터 (문서에 대한 데이터) 가 포함되어 있습니다.
  • <title> 요소는 웹 페이지의 제목을 지정합니다.
  • <meta charset="UTF-8"> 요소는 웹 페이지의 문자 인코딩을 지정합니다.
  • <body> 요소에는 웹 페이지의 보이는 콘텐츠가 포함되어 있습니다.

Environment 의 오른쪽 하단 모서리에 있는 Go Live를 클릭하여 포트 8080 을 열고, Environment 의 왼쪽 상단 모서리에 있는 Web 8080을 클릭하여 페이지 결과를 확인합니다.

Webpage preview in browser

참고: 현재 페이지는 body 가 비어 있기 때문에 아무런 효과가 없습니다. 더 많은 태그를 배우면 페이지의 효과를 볼 수 있습니다.

✨ 솔루션 확인 및 연습

시맨틱 요소

웹 페이지 레이아웃은 일반적으로 여러 주요 부분으로 구성되며, 각 부분은 사용자 인터페이스가 깔끔하고 기능적으로 유지되도록 뚜렷한 목적을 수행합니다.

Picture description
  1. 헤더 (Header): 웹 페이지의 상단 영역으로, 사이트 로고, 탐색 메뉴, 로그인/등록 링크 등을 포함하는 경우가 많습니다. 헤더는 사용자가 가장 먼저 인지하는 부분 중 하나이므로 일반적으로 눈에 띄게 디자인되어 쉽게 탐색할 수 있도록 합니다.
  2. 탐색 바 (Navigation Bar): 탐색 바는 헤더의 일부일 수도 있지만, 일부 디자인에서는 페이지 상단, 측면 또는 하단에 위치한 별도의 섹션일 수도 있습니다. 탐색 바는 웹사이트 내의 내부 링크에 빠르게 접근할 수 있도록 하여 사용자가 관심 있는 콘텐츠를 쉽게 찾을 수 있도록 돕습니다.
  3. 메인 콘텐츠 (Main Content): 웹 페이지의 핵심 부분으로, 사용자가 보려고 페이지를 방문한 주요 정보 또는 콘텐츠를 포함합니다. 메인 콘텐츠는 웹사이트의 목적과 레이아웃에 따라 기사, 블로그 게시물, 제품 표시 등 여러 섹션으로 더 나눌 수 있습니다.
  4. 사이드바 (Sidebar): 사이드바는 일반적으로 메인 콘텐츠 옆 (왼쪽 또는 오른쪽) 에 위치하며 관련 링크, 광고, 검색 상자, 소셜 미디어 링크 등과 같은 추가 정보 또는 기능을 제공합니다.
  5. 푸터 (Footer): 웹 페이지 하단에 위치하며, 일반적으로 저작권 정보, 연락처, 사이트 맵 링크, 개인 정보 보호 정책, 소셜 미디어 아이콘 등을 포함합니다. 푸터는 사용자가 하단으로 스크롤할 때 마지막으로 보이는 부분으로, 기본 사이트 정보와 추가 탐색 옵션을 제공합니다.

시맨틱 요소 (header, main, footer) 를 추가하여 콘텐츠를 논리적으로 구성합니다.

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Pet's House</title>
  </head>
  <body>
    <!--Header Content-->
    <header></header>
    <!--Main Content-->
    <main></main>
    <!--Footer Content-->
    <footer></footer>
  </body>
</html>
  • <!---->는 코드에 주석이나 설명을 추가하는 데 사용되는 HTML 의 주석입니다. 코드의 기능에 영향을 미치지 않으며 브라우저에서 무시됩니다.
  • <header> HTML 요소는 일반적으로 소개 또는 탐색 보조 도구 그룹인 소개 콘텐츠를 나타냅니다.
  • <main> HTML 요소는 문서의 <body>에서 지배적인 콘텐츠를 나타냅니다. 메인 콘텐츠 영역은 문서의 중심 주제 또는 애플리케이션의 중심 기능과 직접적으로 관련되거나 확장되는 콘텐츠로 구성됩니다.
  • <footer> HTML 요소는 가장 가까운 조상 섹션 콘텐츠 또는 섹션 루트 요소에 대한 푸터를 나타냅니다. 푸터는 일반적으로 섹션 작성자에 대한 정보, 저작권 데이터 또는 관련 문서에 대한 링크를 포함합니다.
✨ 솔루션 확인 및 연습

헤더 섹션

홈 섹션은 다음 구성 요소를 포함해야 합니다.

Home section components layout

다음으로 로고 이미지와 탐색 메뉴를 포함하는 헤더 섹션의 레이아웃을 구현해야 합니다.

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Pet's House</title>
  </head>
  <body>
    <!--Header Content-->
    <header>
      <div class="logo-section">
        <img class="logo" src="images/logo.svg" alt="logo" />
      </div>
      <nav class="navigation-section">
        <ul class="navigation">
          <li>Home</li>
          <li>About Us</li>
          <li>Display</li>
          <li>Contact</li>
        </ul>
      </nav>
    </header>
    <!--Main Content-->
    <main></main>
    <!--Footer Content-->
    <footer></footer>
  </body>
</html>
  • <div><nav> 태그를 사용하여 로고와 탐색 메뉴를 두 영역으로 나눕니다.
  • <img> HTML 요소는 문서에 이미지를 삽입합니다.
  • <img> 태그의 src 속성은 이미지 경로를 지정하는 데 사용됩니다.
  • <img> 태그의 alt 속성은 이미지를 설명하는 데 사용되며, 페이지에 이미지가 제대로 표시되지 않을 경우 alt 의 내용이 표시됩니다.
  • 태그의 class는 전역 속성이며, 등호 뒤의 내용은 요소에 부여된 이름과 동일하며, CSS 에서 특정 요소를 식별하고 지정된 요소의 스타일을 설정하는 데 사용됩니다.
  • <ul> HTML 요소는 항목의 순서가 없는 목록을 나타내며, 일반적으로 글머리 기호 목록으로 렌더링됩니다.
  • <li> HTML 요소는 목록의 항목을 나타냅니다.
  • <a> HTML 요소는 하이퍼링크를 정의하여 서로 다른 페이지 간의 링크를 생성하는 데 사용됩니다.

참고: HTML 은 웹 페이지에 콘텐츠를 배치하는 데 사용되는 반면, CSS 는 시각적으로 매력적인 레이아웃을 만드는 데 필수적입니다. 이 실험에서는 HTML 콘텐츠 학습에 중점을 둡니다. 더 나은 페이지 디자인을 위해 완전한 style.css 파일도 제공하고 있습니다.

✨ 솔루션 확인 및 연습

홈 섹션 레이아웃

다음으로 제목, 텍스트 및 이미지의 세 부분으로 구성된 홈의 레이아웃을 완성합니다.

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Pet's House</title>
  </head>
  <body>
    <!--Header Content-->
    <header>
      <div class="logo-section">
        <img class="logo" src="images/logo.svg" alt="logo" />
      </div>
      <nav class="navigation-section">
        <ul class="navigation">
          <li>Home</li>
          <li>About Us</li>
          <li>Display</li>
          <li>Contact</li>
        </ul>
      </nav>
    </header>
    <!--Main Content-->
    <main>
      <div class="container">
        <section id="home" class="cover-sect">
          <div class="title-text">
            <h1>Welcome</h1>
            <p>~ This website offers personalised services for pets. ~</p>
          </div>
          <div class="box-feature">
            <img class="cover-image" src="images/cat.jpeg" alt="just a cat" />
          </div>
        </section>
      </div>
    </main>
    <!--Footer Content-->
    <footer></footer>
  </body>
</html>
  • <section> HTML 요소는 문서의 일반적인 독립형 섹션을 나타냅니다.
  • <h1> HTML 요소는 <section> 요소의 콘텐츠에 대한 제목을 나타냅니다.
  • <p> HTML 요소는 단락을 나타냅니다.
✨ 솔루션 확인 및 연습

요약

이 랩에서는 "Pet's House"를 위한 환영하고 탐색 가능한 인터페이스를 만드는 데 중점을 두고 헤더 및 홈 페이지 레이아웃을 구조화하고 스타일을 지정하는 방법을 배웠습니다. 이 랩은 첫인상의 중요성을 강조하고 사용자 친화적인 웹사이트의 기반을 마련했습니다.