본문 바로가기
웹 프론트엔드/Html, CSS, JavaScript

HTML5 Semantic Elements (시멘틱 요소)

by 알거음슴 2022. 5. 10.

시멘틱 요소(Semantic Elements)란?

 시멘틱 요소 = 의미가 있는 요소, HTML5 이전에는 <div>, <span> 등 범용적으로 사용할 수 있는 의미가 크게 없는 요소를 활용하여 layout을 구성하였으나, 이는 유지보수 및 협업시 해석하는데 오래 걸릴 수 있다. 각 요소별 의미있는 tag를 확용하여, 브라우저 및 개발자 모두에게 명확하게 사용할 수 있도록 하는 요소.

 

Semeantic Elements 종류

 이번에 공부하면서 사용된 요소는 다음과 같다.

<header> : 문서 내 소개 컨텐츠, 또는 탐색 링크의 집합. 일반적으로 <h1~6>, 로고 를 포함하고 있다.

<nav> : 탐색 링크들의 모음을 정의.

<section> : 문서 내 섹션을 정의.

<article> : 문서 내 독립적이며, 자체적인 컨텐츠를 정의.

<aside> : 문서 내 사이드바로 배치된 컨텐츠를 정의.

<footer> : 문서 내 바닥글 또는 특정 섹션의 바닥글을 정의.

 

추가적으로 모두의 선생님 W3schools에 잘 정리되어있어 링크 첨부한다. 

https://www.w3schools.com/html/html5_semantic_elements.asp

 

section, article 두 요소의 차이점

 위 첨부 사진처럼 section, article 두 요소 모두 문서내 독립적인 섹션들을 정의하는 요소이다. 그럼 어떻게 활용하는것이 좋을까?

 필자는 <section> 요소가 조금 더 상위라고 생각되어 <section> 요소 아래에 <article> 를 활용했으나, 꼭 그럴필요는 없는것같다, 팀에서 사용하는, 같은 프로젝트 협업간에 규칙만 잘 정해져 있다면 어느 요소가 어느 요소를 포함하고 있어도 상관없다고 한다.

 

마지막으로 이번에 레이아웃 연습때 사용한 HTML 코드를 예시로 첨부한다.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="stylesheet" href="style.css">
  <title>HappyDay🎈🎈</title>
</head>
<body>
  <div id="bg">
    <header>
      <div class="headerBox">
        <div class="mainLogo">
          <h1>
            Happy holidays!
          </h1> 
        </div>
      </div>
    </header>
    <article class="greating">
      <h1>Enjoy the holidays with your family and friends with these festive recipes and gift ideas!</h1>
    </article>
    <article class="mainBox">
      <section class="main_cont">
        <div class="mainImg_1 imgBox">
        </div>
        <div>
          <h3>sweet berry pie</h3>
        </div>
        <div>
          <p>the sweetest and easiest berry pie perfect for the Holidays!</p>
        </div>
      </section>
      <section class="main_cont">
        <div class="mainImg_2 imgBox">
        </div>
        <div>
          <h3>10 meaningful gifts</h3>
        </div>
        <div>
          <p>worry no more with these gifts that your family will love!</p>
        </div>
      </section>
    </article>
    <footer>
      <div class="follow">
        <p class="followText">Follow us social media</p>
        <div class="followBox">
          <img src="image/facebook.png" alt="article-imgae" class="icon">
          <img src="image/ig.png" alt="article-imgae" class="icon" >
          <img src="image/pinterest.png" alt="article-imgae" class="icon" >
          <img src="image/twitter.png" alt="article-imgae" class="icon">
        </div>
      </div>
      <div class="copyLight">
        <span>Copyright 2019 Yoursite. All right reserved</span>
        <p>You subscribed to our newsletter via our website, </p>
        <a>Unsubscribe from this list</a>
      </div>
    </footer>
  </div>
</body>
</html>

CSS 까지 포함된 Layout 연습 이미지