본문 바로가기

0x01 Programming/0x013 HTML5&CSS3

#HTML5 문서계층 구조



HTML문서 계층 구조는 구조를 중시하는 트리구조와 아웃라인과 컨텐츠 구성을 중시하는 두가지로 나누어 볼수 있습니다.




구조를 중시하는 트리구조


<body>

<div>

<ul>

<li></li>

</ul>

<img>

</div>

<nav>

</nav>

</body>


위의 코드와 같은 구조를 가진 문서가 있다고 가정합시다. 쉽게 설명하기 위해 다른 코드는 생략하였습니다.


박씨 집안의 시조가 박혁거세이듯이 <head> 부분을 제외하고 이 문서에 있는 모든 태그들의 시조는 <body>입니다.


<body> 요소는 문서의 모든 요소들을 담고 있습니다. 말을 만들자면 시조태그인 셈입니다. 


<div><body> 요소의 자식태그입니다. 반대로 <div>에게 <body>태그는 부모태그입니다.  


한 계층 차이가 나기 때문입니다. 그러면 이 예시에서 <div><li>의 관계는 어떻게 될까요? 


<div>에게 <li>요소는 손자태그입니다. 반대로 <li>에게 <div>요소는 할아버지 뻘이 됩니다.





 아웃라인과 콘텐츠 구성을 중시하는 구조


이미 HTML 페이지를 마크업해 온 사람들은 익숙하겠지만, 방금 설명한 것은 가장 기본적인 트리 형태의 구조입니다. 


물론 HTML5에서도 이런 단순 트리 형태의 구조를 사용할 수 있지만 추가된 개념이 있습니다.


기존에는 문서하나에 H1  헤더 하나가 붙고, 각 하위 콘텐츠 별로 H2 태그가 붙는 탑다운 방식으로 문서 하나를 완성했습니다.


그러나 HTML5 문서는 각 섹션이 별도의 H1 태그를 가져도 무방합니다. 박스별 콘텐츠들은 독립된 하나의 문서가 될 수 있습니다.


여러 문서가 합해져 하나의 HTML파일이 된다고 생각하면 이해하기가 쉬울까요?


또한, 기존에는 <div> 이용해서 레이아웃을 구성했습니다. 헤더에 해당하는 부분은 <div class="header"></div>,


푸터에 해당하는 부분은 <div class= "footer"></div>, 이런식으로 많이 사용했습니다.


HTML5에서는 이런 부분들을 조금 더 세분화하여 <header> 태그가 추가되었고, <footer> 태그가 추가 되었습니다. 


이밖에도 많은 구성요소들이 추가되어 아웃라인을 살린 마크업 페이지를 만들 수 있게 되었습니다.


HTML5에서는 구조보다는 컨텐츠의 '구성'더 중요해졌습니다. 



<앞서가는 디자이너와 퍼블리셔를 위한 HTML5 & CSS3> 에서 발췌