문단과 강조
-
잘못된 예
첫 번째 예제는 열린 태그의 반대 순서로 닫아야 하는 규칙을 지키지 않았고,
두 번째 예제는 인라인 요소 안에 블록 요소가 들어갈 수 없는 규칙을 지키지 않았습니다. -
올바른 예
블록 요소 vs 인라인 요소 요약 설명
- HTML에는 블록 요소(block level element)와 인라인 요소(inline level element)라는 두 가지 종류의 요소가 있습니다.
- HTML의 대부분의 요소는 웹 브라우저에서 어떻게 보이는지를 결정하는 display 속성을 가지며, 주로 block 또는 inline 두 가지 값 중 하나를 가집니다.
- 단, 테이블(table)은 블록 요소로 간주되지만, display 속성은 table 입니다.
요약 설명요소 중첩(Nesting)은 HTML 문서에서 한 요소가 다른 요소 내에 포함되는 것을 의미합니다. 이러한 중첩을 통해 HTML 요소는 논리적인 계층 구조를 형성하며, 디자인에 맞는 레이아웃을 구현할 수 있습니다.
올바른 중첩은 문서의 가독성과 유지보수성을 높입니다.
<p>
요소는 블록 요소이지만
다른 블록 요소가 포함될 수 없고, 인라인 요소만 포함될 수 있습니다.
<meta>, <a>, <img>, <br>, <hr>
같은 단일 요소는
닫는 태그 없이 사용 가능합니다.
HTML 요소 중첩에서 부모와 자식 관계는 HTML 문서의 구조를 이해하는 데 중요한 개념입니다.
부모와 자식 관계를 통해 문서의 계층 구조를 정의하고, 요소 간의 관계를 명확하게 할 수 있습니다.
<div class="nesting">
는 최상위 부모 요소입니다.
<h1>, <div class="el">, <p>
모두
<div class="nesting">
의 자식 요소입니다.
<div class="el">
은
<div class="nesting">
의 자식 요소이자,
동시에
<p>
요소의 부모 요소입니다.
요소의 중첩이 잘못되면 레이아웃 전체가 망가질 수 있으므로, 마크업 시 요소가 적절히 중첩되었는지 확인해야 합니다.
아래는 요소 중첩의 잘못된 예와 올바른 예입니다.
첫 번째 예제는 열린 태그의 반대 순서로 닫아야 하는 규칙을 지키지 않았고,
두 번째 예제는 인라인 요소 안에 블록 요소가 들어갈 수 없는 규칙을 지키지 않았습니다.
첫 번째 예제는 필수 요소가 누락되었습니다.
<ul>
요소의 직계 자식(한 단계 밑)으로 <li>
요소가 반드시 있어야 합니다.
두 번째 예제는 <a>
요소를 단지 않았습니다.
제목 요소 안에 블록 요소를 포함하는 것은 권장되지 않습니다.
제목 요소(<h1>
, <h2>
, <h3>
, 등)는 인라인 텍스트 콘텐츠를 포함하도록 설계되었기 때문에,
블록 요소를 포함하면 시맨틱 구조가 어긋나고, 브라우저의 기본 동작을 방해할 수 있습니다.
UXKM Editor로 자유롭게 코드를 연습하세요. 전체 화면 코드 작성 및 코드 다운로드가 가능합니다.