개발하는 디자이너/02. 개발 관련 tip

HTML 헷갈리는 태그 정리: div, span, href, 엔티티까지

Kila 2024. 11. 20. 16:08

HTML의 계층적 구조와 주요 태그 학습

 

1. HTML의 계층적 구조란 무엇인가?

 

HTML의 계층적 구조란 웹 페이지를 구성하는 요소들이 부모-자식 관계를 통해 계층적으로 배치되는 방식을 의미한다. 이러한 구조는 HTML 문서의 가독성유지보수성을 높이며, 다음과 같은 원칙을 따른다:

부모 요소(Parent): 다른 요소를 포함하는 요소를 의미한다.

자식 요소(Child): 부모 요소 안에 포함된 요소를 의미한다.

형제 요소(Sibling): 동일한 부모를 공유하는 요소를 의미한다.

 

HTML 계층적 구조 예제

<!DOCTYPE html>

<html>

  <head>

    <title>HTML 계층적 구조</title>

  </head>

  <body>

    <header> <!-- 부모 요소 -->

      <h1>웹 페이지 제목</h1> <!-- 자식 요소 -->

      <nav>

        <ul>

          <li><a href="#home">홈</a></li> <!-- 형제 요소 -->

          <li><a href="#about">소개</a></li>

        </ul>

      </nav>

    </header>

    <main>

      <section>

        <h2>섹션 제목</h2>

        <p>여기에 본문 내용이 들어갑니다.</p>

      </section>

    </main>

    <footer> <!-- 부모 요소 -->

      <p>&copy; 2024 My Website</p> <!-- 자식 요소 -->

    </footer>

  </body>

</html>

 

<header>: 부모 요소로 <h1><nav>를 포함한다.

<nav>: <ul>을 포함하며, <li><a>는 자식 요소이다.

계층적 관계:

<html> > <body> > <header> > <nav> > <ul> > <li> > <a>

 

2. 계층적 디자인 원칙

 

HTML 계층적 구조에서 디자인 원칙을 따르면 코드를 더 깔끔하고 유지보수하기 쉬워진다.

 

디자인 원칙

 

1. 의미론적 태그 사용:

HTML5에서 제공하는 의미론적 태그를 사용해 구조를 명확히 한다.

예: <header>, <main>, <footer>, <article>, <section>

2. 적절한 중첩 사용:

부모와 자식 관계를 명확히 하고, 불필요한 중첩을 피한다.

올바른 중첩:

<ul>

  <li><a href="#">링크1</a></li>

  <li><a href="#">링크2</a></li>

</ul>

 

 

3. CSS와 JavaScript 분리:

HTML은 구조를 담당하고, 스타일과 동작은 CSS와 JavaScript로 분리한다.

4. 읽기 쉬운 들여쓰기:

각 계층을 들여쓰기하여 가독성을 높인다.

 

3. 주요 태그 설명

 

1) <a> 태그와 href 속성

 

<a> 태그는 하이퍼링크를 생성하는 데 사용된다. href 속성은 링크의 목적지 URL을 지정한다.

 

예제

<a href="https://www.example.com">여기로 이동</a>

<a href="#section1">페이지 내로 이동</a>

 

외부 링크: https://와 같은 URL을 사용해 다른 사이트로 연결한다.

내부 링크: #id를 사용해 동일 페이지 내 특정 위치로 이동한다.

 

2) <div> 태그

 

<div>는 블록 레벨 컨테이너로, 특정 영역을 그룹화하거나 스타일을 적용할 때 사용된다.

 

예제

<div class="container">

  <h1>제목</h1>

  <p>내용</p>

</div>

 

용도:

페이지의 구조를 나누는 데 사용한다.

CSS를 적용할 때 주로 클래스나 ID와 함께 사용한다.

 

3) 엔티티(<, >, ©)

 

HTML 엔티티는 특수 문자를 표현하기 위해 사용된다.

 

예제

<p>&lt;div&gt;는 블록 요소입니다.</p>

<p>&copy; 2024</p>

 

&lt;: < (less than) 기호를 나타낸다.

&gt;: > (greater than) 기호를 나타낸다.

&copy;: 저작권 기호를 나타낸다(©).

 

4) <span> 태그

 

<span> 태그는 인라인 컨테이너로, 텍스트의 특정 부분에 스타일을 적용하거나 JavaScript로 제어할 때 사용된다.

 

예제

<p>이 문장에서 <span class="highlight">특정 부분</span>만 강조됩니다.</p>

 

특징:

블록 레벨 요소인 <div>와 달리 인라인 요소이다.

스타일이나 동작을 특정 텍스트에만 적용할 수 있다.

 

4. HTML 코드 예제: 계층적 구조와 태그 활용

 

아래는 위 내용을 종합하여 계층적 구조와 주요 태그를 활용한 예제이다.

<!DOCTYPE html>

<html lang="ko">

<head>

  <meta charset="UTF-8">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>HTML 계층적 구조 예제</title>

  <link rel="stylesheet" href="styles.css">

</head>

<body>

  <!-- 헤더 섹션 -->

  <header>

    <h1>HTML 학습 사이트</h1>

    <nav>

      <ul>

        <li><a href="#section1">소개</a></li>

        <li><a href="#section2">예제</a></li>

      </ul>

    </nav>

  </header>



  <!-- 메인 콘텐츠 -->

  <main>

    <section id="section1">

      <h2>HTML이란?</h2>

      <p>HTML은 웹 페이지의 구조를 정의하는 언어입니다.</p>

    </section>

    <section id="section2">

      <h2>HTML 태그</h2>

      <p>아래는 주요 태그들에 대한 설명입니다.</p>

      <div>

        <p>이 문장에서 <span class="highlight">특정 부분</span>만 강조됩니다.</p>

      </div>

    </section>

  </main>



  <!-- 푸터 섹션 -->

  <footer>

    <p>&copy; 2024 HTML 학습 사이트</p>

  </footer>

</body>

</html>

 

5. 요약

728x90