div vs. section

김서현·2025년 1월 12일

frontend

목록 보기
11/34
  • <div>: 콘텐츠를 그룹화할 때 사용하는 일반 박스. 의미 없이 단순히 묶는 데 사용.
  • <section>: 주제나 목적이 있는 콘텐츠를 묶는 데 사용.

비유로 설명

  • <div>는 박스: 그냥 물건을 담는 상자처럼 아무 목적 없이 여러 콘텐츠를 묶는 데 써요.
    예: 책상 위 물건을 한 박스에 담기.
  • <section>은 챕터: 하나의 주제가 있는 친구들끼리 묶어요.
    예: 책의 "1장: 소개", "2장: 본론"처럼 묶는 거예요.

자세히 설명

  1. <div>의 특징

    • 아무런 의미가 없고, 콘텐츠를 그룹화하는 데만 사용해요.
    • CSS나 JavaScript로 스타일링하거나 동작을 적용하려고 묶는 데 유용해요.
    • 예제:
      <div class="container">
        <p>여기 글이 있습니다.</p>
        <img src="image.jpg" alt="이미지">
      </div>

      이건 단순히 글과 이미지를 묶은 거.

  2. <section>의 특징

    • 콘텐츠에 의미가 있어야 해요.
    • 주제별로 나눌 때 사용하고, 보통 제목(<h1>, <h2> 등)과 함께 써요.
    • 예제:
      <section>
        <h2>소개</h2>
        <p>이곳은 소개글입니다.</p>
      </section>

      "소개"라는 주제를 가진 콘텐츠를 묶은 거.


결론

  • 아무 의미 없이 묶을 땐 <div>
  • 주제가 있을 땐 <section>

추가 피드백 (+header)

1. 자판기와 지뢰찾기 화면에서 div 태그와 다른 태그의 차이

  • div 태그는 "블록을 나누는 상자"라고 생각하면 돼. 주로 화면을 구성하고 요소들을 그룹으로 묶는 용도로 사용돼.

    • 예: 자판기의 각 버튼, 화면, 또는 지뢰찾기 게임의 격자 하나하나를 묶어서 나누기 위해 div를 사용할 수 있어.
  • header 태그는 보통 웹페이지의 맨 위쪽 부분에 사용하는 태그야. 주로 사이트의 제목, 로고, 메뉴 같은 내용을 담는 데 쓰이지, 자판기 버튼이나 지뢰찾기 격자 같은 세부적인 구성 요소에는 사용하지 않아.


2. section 태그와 div 태그의 차이

  • section 태그는 "하나의 주제"를 가진 내용을 묶을 때 사용하는 거야. 말 그대로, 웹페이지에서 특정 주제의 독립적인 영역을 나눌 때 적합하지.

    • 예: 뉴스 웹사이트라면 "스포츠", "정치", "연예" 같은 영역을 나눌 때 사용.
  • 하지만 자판기나 지뢰찾기 같은 경우는 그 내부에 주제별로 나누는 독립적인 영역이 없기 때문에, 주로 div 태그를 사용해서 화면을 나누는 게 적합해.

1. 사용 목적

<div>는 레이아웃을 구성하거나 CSS와 JavaScript를 적용하기 위한 기본 블록으로 사용.
<section>은 관련 있는 콘텐츠 그룹을 정의하고, 문서의 구조를 명확히 하는 데 사용.

2. SEO 및 접근성

<section>은 의미론적인 태그라, 검색 엔진과 스크린 리더와 같은 접근성 도구에서 더 잘 이해될 수 있다.
<div>는 의미론적인 정보가 부족하므로, 필요에 따라 추가적인 설명이나 구조를 제공해야 할 수 있다.


3. 예를 들어서 보자

자판기 화면

<div class="vending-machine">
  <div class="screen">자판기 화면</div>
  <div class="buttons">버튼들</div>
  <div class="slot">상품 나오는 곳</div>
</div>
  • 여기서 "screen", "buttons", "slot" 각각은 자판기의 구성 요소야. 이건 div 태그로 나누는 게 적합해.

지뢰찾기 게임 화면

<div class="minesweeper">
  <div class="grid">
    <div class="cell">1</div>
    <div class="cell">지뢰</div>
  </div>
</div>
  • "grid"는 게임판이고, "cell"은 칸 하나하나를 뜻해. 이런 구성은 div 태그로 구분하는 게 맞아.

중요한 이유

  • HTML 태그는 역할에 맞게 사용해야 웹페이지가 잘 구성되고, 다른 사람들도 코드를 읽기 쉽고 유지보수하기 편리해져.
  • 잘못된 태그 사용은 코드의 의미를 흐리게 해서, 나중에 문제가 생길 수도 있어.

👉 "header"와 "section"은 각각 웹페이지의 큰 구조나 주제를 나눌 때 쓰고,
👉 "div"는 자판기나 지뢰찾기처럼 세부적으로 구성 요소를 나눌 때 쓰는 거야.

profile
한양대 학생입니다. 서울캠입니다.

0개의 댓글