Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Coda
- Grid
- 코드일기
- 코딩문제
- CSS
- property
- display
- tailwindcss
- HTML
- DOM
- row-gap
- sass
- 코딩일기
- js
- 코드다이어리
- vscode
- column-gap
- 선택자
- regexp
- 코딩퀴즈
- JavaScript
- 가상클래스
- 코딩테스트
- CLASS
- 친해지기
- Pseudo
- frontend
- 정규식표현
- scss
Archives
- Today
- Total
< Code diaries />
HTML Markup 방법과 DOM 트리구조 본문
DOM(Document Object Model)
- HTML을 코딩하는 것을 마크업 한다고합니다. 모든 태그는 컨텐츠 요소로 다른 태그를 포함할 수 있는 중첩구조를 가지게 됩니다.
- 그러다보면 처음에 열린 태그, 두번째 열린태그 등.. 계층구조를 가지며 DOM 트리구조를 형성하게 됩니다.
- DOM 트리구조를 이해해야 CSS에서 HTML을 선택할 때에도 잘 이해할 수 있게 됩니다.
- 단, 빈요소(Empty Element) 태그는 다른 태그를 컨텐츠요소로 포함 할 수 없습니다.
중첩코딩
<div>
<h1>Hello, HTML</h1>
<ul>
<li>Menu 1</li>
<li>Menu 2</li>
<li>Menu 3</li>
</ul>
<p>
Let's coding.
<strong>Important content</strong>
</p>
</div>
위의 마크업을 브라우저가 해석하는 DOM 트리구조로 나타내 보았습니다.
A. HTML 태그 중첩
- HTML태그의 중첩규칙은 어렵진 않지만, 반드시 알고 있어야합니다.
- 바로 HTML 블럭요소와 인라인요소의 차이점을 알아야하는데요, 아래의 표를 참조해서 알아두세요.
- 또다른 중요한 사실은 똑같은 블럭요소라도 컨텐츠로 들어가는 요소들에 대한 제한사항이 모두 다릅니다. 처음에는 헷갈리겠지만 몇종류 되지않으니 익숙해질때까지 코딩하다보면 자연스레 알게됩니다. 너무 걱정하지 않으셔도 됩니다. ^^
그렇다면, HTML 블럭요소와 인라인요소의 차이점은 무엇일까요?
대표적인 차이점 몇개를 정리해 드릴게요
Content | 블럭요소 | 인라인요소 | 인라인 블럭 요소 |
CSS | 크기, 상하여백 지정가능 | 크기와 상하여백을 가질 수 없다. | 크기, 상하여백 지정가능 |
중첩규칙 | 모든 인라인 요소 또는 인라인블럭 요소를 컨텐츠 요소로 포함 할 수 있다. | 어떠한 블럭요소도 콘텐츠요소로 포함할 수 없다. ---------------------- 단, <a> 태그는 제외된다. 인라인 요소지만 HTML5부터 컨텐츠요소로 블럭요소가 오는 것을 허용한다. |
어떠한 블럭요소도 콘텐츠요소로 포함할 수 없다. |
특징 | 마크업 할때마다 새로운 블럭에 시작한다. 한줄에 여러개가 배치되려면 CSS로 스타일링 해야한다. | 자신이 가진 컨텐츠 만큼만 늘어난다. 한줄에 공간이 있다면 여러개가 배치될 수 있으며, 공간이 부족할 경우 자동으로 줄 바꿈 된다. |
인라인 요소와 동일하다. 하단에 불필요한 1px 정도의 여백이 생길 수 있다. |
자주쓰이는 해당 태그 |
<h1>~<h6>, <p>,<div>, <blockquote>, <table>, <ul>, <ol>, <li>, <dl>, <dt>, <dd>, <header>, <main>, <footer>, <nav>, <section>, <article>, <figure>, <figcaption>, <address>, <form>, <fieldset>, <legend>, <template>... 등등 |
<a>,<label>, <span>, <strong>, <em>,<b>, <i>, <time>, <mark>, <q>, <abbr>, <small>, <sub>, <sup> ... 등등 |
<img>, <input>, <select>,<textarea>, <button>, <meter>.. 등등 |
B. 요소별로 컨텐츠요소(Child element)로 허용되는 범위 정리
Content | 블럭요소(Block level elements) |
컨텐츠 요소로 어떠한 블럭요소도 허용하지 않는 태그 |
<h1>~<h6>, <p>, <dt> |
지정된 태그만 컨텐츠 요소(child)로 허용하는 태그 이는 반대로 허용된 태그는 지정된 부모태그만 가능하다는 뜻이 된다. |
<ul> : <li> 태그만 허용된다. <ol> : <li> 태그만 허용된다. <dl> : <dt>, <dd> 태그만 허용된다. <table> : 테이블 관련요소들만 허용된다. <select> : <option>등 관련요소만 허용된다. |
자기자신 포함 모든 블럭요소를 허용하는 태그 |
<div> |
자주쓰이는 해당 태그 |
<h1>~<h6>, <p>,<div>, <blockquote>, <table>, <ul>, <ol>, <li>, <dl>, <dt>, <dd>, <header>, <main>, <footer>, <nav>, <section>, <article>, <figure>, <figcaption>, <form>, <fieldset>, <legend>, <template>... 등등 |
본 문서는 제가 오랫동안 일해왔던 내용을 강의와 책편집을 위해 정리해둔 내용입니다.
힘들게 만든 만큼 공부하시는 분들께 도움이 되면 좋겠습니다.
제 피드를 공유하거나 링크를 해주시는것은 감사합니다~
하지만, 출처없이 이미지나 내용만을 카피해서
포스트를 쓰신다거나 하는것은 하지말아주세요 ^^
감사합니다.
반응형
'Html' 카테고리의 다른 글
TAG 02 - 제목과 글자를 다루는 태그, 기타 태그 (4) | 2024.06.06 |
---|---|
TAG 01 - 영역을 분리하는 태그(Semantic Tags) (2) | 2024.06.06 |
우리가 공부할 HTML tag list (0) | 2024.06.06 |
HTML - 무엇인지 스치듯이 알아봅시다~! (2) | 2024.06.06 |
[HTML] input 패턴 정규표현식. html 입력필드에 들어가는 값에 대한 표현식 정하기. RegExp in javascript (6) | 2024.01.25 |