본문 바로가기
웹/HTML

HTML - 레이아웃(Layout)

by DGDD(Developer) 2023. 6. 20.

HTML - 레이아웃

HTML의 레이아웃을 작성하는 방법에는 <div>를 이용한 방법과 HTML5 레이아웃이 있습니다.

 

  1. <div>를 이용한 레이아웃
    <div> 요소는 보통 컨테이너 역할을 하는 일반적인 블록 요소입니다. 하지만 <div>요소에는 CSS의 적용이 쉽기 때문에 <div> 요소를 활용한 레이아웃 구성이 가능합니다. <div>요소의 클래스(class)나 아이디(id) 속성을 추가하여 스타일이나 스크립트 적용을 위한 식별자로 활용할 수 있습니다.


  2. HTML5 레이아웃 

 

위의 내용만으로 두 가지의 차이점이 무엇인지 파악하기 어려워 추가적으로 찾아본 내용이다.

<div> 를 사용한 레이아웃 구성

  •  <div>를 사용한 레이아웃 구성은 <div>가 일반적인 컨테이너 요소이기 때문에 레이아웃을 구성하기 위해 자유롭게 사용할 수 있다. 
  • <div>는 의미론적인 정보를 가지고 있지 않으며, 주로 CSS 스타일을 적용하여 디자인을 변경하고 레이아웃을 제어할 수 있다.
  • 개발자가 직접 <div> 요소를 정의하고 스타일을 적용해야 하기 때문에 구조화 와 의미론적인 특성이 명확하지 않을 수 있다

HTML5 레이아웃

  • HTML5는 구조적인 요소를 도입하여 레이아웃을 구성할 수 있도록 만들었다.
  • HTML5에서는 <header>, <nav>, <section>, <article>, <aside>, <footer>등의 의미론적인 요소를 제공한다.
  • 이러한 의미론적인 요소를 사용하면 레이아웃의 구조와 의미를 더 명확하게 전달할 수 있다.
  • 브라우저와 웹 검색 엔진은 HTML5의 의미론적인 요소를 이해하고 콘텐츠를 더 적절하게 해석할 수 있다.

 

요약하면 <div>를 사용한 레이아웃은 자유로운 구성과 CSS 스타일을 적용한 다양한 디자인이 가능하지만 HTML5 레이아웃은 의미론적이 요소를 사용하여 레이아웃을 구성하기 때문에 구조와 의미면에서 장점이 있다는 차이가 있다.

 

 HTML5 레이아웃을 사용한 간단한 예시 이다.

 

<!DOCTYPE html>
<html>
<head>
  <title>HTML5 레이아웃 예시</title>
  <style>
    header {
      background-color: #f2f2f2;
      padding: 20px;
      text-align: center;
    }
    nav {
      background-color: #e3e3e3;
      padding: 10px;
      text-align: center;
    }
    section {
      background-color: #ffffff;
      padding: 20px;
      margin-bottom: 20px;
    }
    footer {
      background-color: #f2f2f2;
      padding: 10px;
      text-align: center;
    }
  </style>
</head>
<body>
  <header>
    <h1>웹사이트 제목</h1>
  </header>
  <nav>
    <a href="#">메뉴 1</a> |
    <a href="#">메뉴 2</a> |
    <a href="#">메뉴 3</a>
  </nav>
  <section>
    <h2>섹션 1</h2>
    <p>이곳에 섹션 1의 내용이 들어갑니다.</p>
  </section>
  <section>
    <h2>섹션 2</h2>
    <p>이곳에 섹션 2의 내용이 들어갑니다.</p>
  </section>
  <footer>
    <p>저작권 © 2023 웹사이트. All rights reserved.</p>
  </footer>
</body>
</html>

 

<div>를 사용한 간단한 예시 이다.

<!DOCTYPE html>
<html>
<head>
  <title><div>를 사용한 레이아웃 예시</title>
  <style>
    .header {
      background-color: #f2f2f2;
      padding: 20px;
      text-align: center;
    }
    .nav {
      background-color: #e3e3e3;
      padding: 10px;
      text-align: center;
    }
    .section {

      background-color: #ffffff;
      padding: 20px;
      margin-bottom: 20px;
    }
    .footer {
      background-color: #f2f2f2;
      padding: 10px;
      text-align: center;
    }
  </style>
</head>
<body>
  <div class="header">
    <h1>웹사이트 제목</h1>
  </div>
  <div class="nav">
    <a href="#">메뉴 1</a> |
    <a href="#">메뉴 2</a> |
    <a href="#">메뉴 3</a>
  </div>
  <div class="section">
    <h2>섹션 1</h2>
    <p>이곳에 섹션 1의 내용이 들어갑니다.</p>
  </div>
  <div class="section">
    <h2>섹션 2</h2>
    <p>이곳에 섹션 2의 내용이 들어갑니다.</p>
  </div>
  <div class="footer">
    <p>저작권 © 2023 웹사이트. All rights reserved.</p>
  </div>
</body>
</html>

 

위 예시에서도 볼 수 있는 것처럼 HTML5 예시는 레이아웃 요소를 사용하여 구성되어 있고 <div>는 CSS 클래스를 사용하여 스타일링 하고 있다.

 

' > HTML' 카테고리의 다른 글

HTML - form 요소  (0) 2023.06.21
HTML - 블록(block) 과 인라인(Inline) / iframe 과 프레임셋(frameset)  (0) 2023.06.20
HTML - 테이블(table)  (0) 2023.06.20
HTML - 리스트(List)  (0) 2023.06.20
HTML - 이미지(Image / <img>)  (0) 2023.06.20