css <div>코드 질문입니다.
조회수 539회
css에서 그리드만들때 div로 감싸주는데, ol같은 코드는 안해줘도 되는 이유가 궁금합니다.
예를 들어서!
<div>
<ol></ol>
<div><h1></h1></div>
</div>
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
HTML 고급 과정으로 들어오신 것을 환영합니다. 일단 질문 자체에만 답을 드리자면
ol
태그는 기본적으로 블록 요소라서 div로 쌀 필요가 없는 겁니다. 근데 애초에<div>
태그는 뭐 하는 태그일까요?<div>
요소는 "순수" 컨테이너로서 아무것도 표현하지 않습니다. 대신 다른 요소 여럿을 묶어class
나id
속성으로 꾸미기 쉽도록 돕거나, 문서의 특정 구역이 다른 언어임을 표시(lang 속성 사용)하는 등의 용도로 사용할 수 있습니다. (중략)<div>
요소는 의미를 가진 다른 요소(<article>
,<nav>
등)가 적절하지 않을 때만 사용해야 합니다.그말인즉
div
는 그야말로 칸(block)의 구획("division")을 짓는 -- 칸을 분리하거나 합쳐주는 -- 태그라는 건데요.h1
~h6
,p
,ol
등은 기본적으로 블록 요소지만, 모종의 이유로 어떤 놈들이 블록 요소가 아니게 되어 있다거나, 여러 블록 요소들을 묶어서 하나의 블록으로 처리될 필요가 있다거나 할 때 갖다쓰는게 바로div
인 겁니다.주신 마크업의 사례를 보자면, 아마도
<h1>
태그는 기본 CSS인display: block;
이 아닌 다른 디스플레이 유형이 정의돼 있는 것 같습니다. 이 상황에서<h1>
아래에 예컨대<span>
텍스트가 붙으면, 그 텍스트는 h1 대제목의 아래에 붙지 않고 오른쪽에 줄줄이 붙어서 나오게 됩니다. 그걸 방지하기 위해서<h1>
을 굳이<div>
로 다시 싼 것이 아닌가 싶네요.여기까지가 제 얕은 이해인데 혹시 틀린 데가 있다면 정정해 주시면 감사하겠습니다.
댓글 입력