일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- BlindSQLInjection
- 케이쉴드주니어 #2주차 #네트워크 구성 용어의 이해
- 자료구조 #알고리즘 #최소비용신장트리 #그래프
- 케이쉴드주니어 #1주차
- SQLInjection방어방법
- css #display #position
- 기업 IT 인프라 구성의 이해
- css #속성
- DB backup server
- 케이쉴드주니어 #2주차 #웹 구성 요소의 이해
- XSS방어방법
- 모각코 #8월과정 #html #css #javascript
- 케이쉴드주니어 #3주차 #apache #tomcat
- 케이쉴드주니어 #1주차 #온라인
- 버블정렬 #bubble sort
- 윈도우 서버 기본 활용 방안
- SQL #Injection
- 리눅스서버 기본 활용 방안
- 정보보안기사
- 정보처리기사 #정처기
- 스톱워치 #JS
- XSS종류
- 케쉴주
- K-Shield 주니어 10기 #지원후기 #최종합격후기 #정보보안 #
- rsyslog
- css #float #flexbox #container #item #main-axis #cross-axis
- 자료구조 #알고리즘 #tree #트리순회
- 삽입정렬 #insertion sort
- 케이쉴드주니어 #3주차 # 가상기업인프라구성
- Docker #취약점진단
- Today
- Total
itsme
콘텐츠모델, 시멘틱마크업, 블록 & 인라인 본문
이번에는 콘텐츠 모델, 시멘틱 마크업, 블록 & 인라인에 대해서 알아보기로 했다.
1. 콘텐츠 모델
html5에는 요소들이 가지고 있는 성격에 따라 요소의 종류를 정의하는 규칙들이 있는데 이런 규칙에 대해 비슷한 성격의 요소들끼리 그룹화한 것이 콘텐츠 모델이다.
1) Metadata
"base, link, meta, noscript, style, title"
Metadata에는 콘텐츠의 스타일, 동작을 설 저하 거나 다른 문서와의 관계 등 정보를 포함하는 요소들이 포함된다.
메타 태그, 타이틀 태그, 스타일 태그, 링크 태그가 이에 해당하며 대부분 <head> 내에 들어간다는 것이 특징이다.
2) Flow
" a, abbr, address, map> area, article, aside, audio, b, bdo, blockquote, br, button, canvas, cite, code, datalist, del, details, dfn, div, dl, em, embed, fieldset, figure, footer, form, h1 ~ h6, header, hgroup, hr, i, iframe, img, input, ins, kbd, keygen, label, map, mark, math, menu, meter, nav, noscript, object, ol, output, p, pre, progress, q, ruby, samp, script, section, select, small, span, strong, style [scoped], sub, sup, svg, table, textarea, time, ul, var, video, wbr "
Flow에는 문서의 자연스러운 흐름에 의해 배치되는 요소들이 포함된다. Metadata에 해당하는 일부 태그들만 Flow에서 제외되며 요소 대부분이 Flow에 포함된다.
3) Sectioning
" article, aside, nav, section "
Sectioning에는 문서의 구조와 관련된 요소들이 포함된다. HTML5에서 새로 생긴 <article>, <aside>, <nav>, <section> 등이 포함되며 이 태그들은 문서의 구조, 아웃라인에 영향을 주게 됩니다.
4) Heading
" h1, h2, h3, h4, h5, h6 "
Heading에는 각 section의 header를 정의하는 heading 태그가 포함된다.
5) Phrasing
"a, abbr, map> area, audio, b, bdo, br, button, canvas, cite, code, datalist, del, dfn, em, embed,
i, iframe, img, input, ins, kbd, keygen, label, map, mark, math, meter, noscript, object, output,
progress, q, ruby, samp, script, select, small, span, strong, sub, sup, svg, textarea, time,
var, video, wbr"
Phrasing에는 문서의 텍스트 또는 텍스트를 꾸며주는 문단 내부 레벨로 사용되는 요소들이 포함된다.
6) Embedded
" audio, canvas, embed, iframe, img, math, object, svg, video "
Embedded에는 외부 콘텐츠를 표현하는 요소들이 포함되며 오디오나 비디오, 이미지 등 멀티미디어 관련 요소들이 이에 해당된다.
7) Interactive
" a, audio [controls], button, details, embed, iframe, img [usemap], input, keygen, label, menu,
object [usemap], select, textarea, video [controls] "
Interactive에는 사용자와 상호작용을 하는 요소들이 포함되며 대표적으로 form 요소들이 이에 해당된다.
2. 시멘틱 마크업
시멘틱 마크업이란?
시멘틱 마크업은 종종 POSH(Plain Old Semantic HTML)라고도 불리는데, 단어 그대로 평범하고 오래된 의미론적인 HTML이라는 뜻이다.
시멘틱은 즉, 기계(컴퓨터, 브라우저)가 잘 이해할 수 있도록 하는 것을 뜻한다.
마크업 할 때는 의미에 맞는 태그, 요소를 사용하는 것이고 문서를 표현할 때는 구조화를 잘해주는 것이다.
<b>굵은</b> vs <strong>중요한</strong>
<i>기울어진</i> vs <em>강조하는</em>
<u>밑줄친</u> vs <ins>새롭게 추가된</ins>
<s>중간선이 있는</s> vs <del>삭제된</del>
위 코드를 실행시키면 각각의 요소가 같은 모습으로 표현되지만 의미는 다르다.
<b>는 의미 없이 단순히 텍스트를 굵게 표현하는 태그지만, <strong>은 중요하다는 의미를 가진다. <strong>은 중요하다는 의미에 맞춰 브라우저에 의해 굵은 스타일로 표현된 것이다. 따라서 중요하다는 의미를 포함할 때는 <b>가 아닌 <strong>을 사용하는 것이 적절하고 시멘틱 한 마크업이다.
그리고 <i>는 단순히 기울어진 글자를 표현하지만, <em>은 글자의 특정 부분을 강조하는 의미를 가진다.
<u>와 <s>는 단순히 글자에 선을 그은 것이고, <ins>와 <del>은 내용이 새롭게 추가되거나 삭제가 되었다는 의미를 가진다.
3. 블록 & 인라인
1) 블록 레벨 요소
부모 요소의 가로 영역에 맞게 꽉 채워져 표현되는 요소이다. 양옆으로 다른 요소가 배치되지 않게 박스를 생성하므로 박스의 위아래로 줄 바꿈이 생기게 된다. 블록 레벨 요소는 일반적인 모든 요소(블록, 인라인 레벨 등)를 포함할 수 있다. " div, h1~h6, p, ul, li, table..."
2) 인라인 레벨 요소
하나의 라인 안에서 자신의 내용만큼의 박스를 만드는 요소이다. 라인의 흐름을 끊지 않고 요소 앞 뒤로도 줄 바꿈이 되지 않아 다른 인라인 요소들이 자리할 수 있다. 인라인 레벨 요소는 블록 레벨 요소의 자식으로 분류되기 때문에 자손으로 블록 레벨 요소를 가질 수 없다.
즉, 인라인 레벨 요소는 블록 레벨 요소를 포함할 수 없다.
" span, i, img, em, strong, a..."
다만, HTML5 버전에서 생겨난 한 가지 예외 경우가 있는데 <a>는 인라인 레벨 요소지만 자손으로 블록 레벨 요소를 가질 수 있다.
'Study > 코딩' 카테고리의 다른 글
CSS(2) (0) | 2021.12.10 |
---|---|
CSS(1) (0) | 2021.12.10 |
html 태그(2) (0) | 2021.01.10 |
html 태그(1) (0) | 2021.01.09 |
html이해하기 (0) | 2021.01.09 |