달력

82025  이전 다음

  • 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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

HTML5 문서 구조화

 


 

용어 알기

 

표현적 마크업 : 콘텐츠의 레이아웃과 디자인을 정의하는 마크업

블렉 레벨 요소 : 줄밤꿈으로 분리되는 하나의 독립된 덩어리 요소

정의 목록 : 사전식 정의를 위해 사용되는 목록

 


 

 


 

 

구조적 마크업의 이해

 

 

마크업 언어

 

- 구조적 마크업

 

* 문서의 구조 정의

* 콘텐츠의 의미 또는 역할

* 콘텐츠의 종속 관계

 

- 표현적 마크업

 

* 문서의 외형 정의

* 문서 레이아웃

* 콘텐츠 디자인

 

구조적 마크업과 표현적 마크업의 혼용

 

- 웹 초창기 : 하나의 HTML 파일에 웹페이지의 모든 것 정의

→ HTML의 표현의 한계

 

구조적, 표현적 마크업 혼용 사용의 문제점

 

1. 웹 접근성 저해

2. 더 높은 유지 비용 발생

3. 문서 크기 비대화

 

 


 

 

블록 레벨 요소와 인라인 레벨 요소

 

블렉 레벨 요소

 

1. 줄 바꿈이 일어나는 단락 요소

2. 제목, 문단, 인용문

3. 블록 레벨 요소 안에 인라인 레벨 요소 또는 다른 블록 레벨 요소가 들어갈 수 있음

 

인라인 레벨 요소

 

1. 줄바꿈이 일어나지 않은 행의 일부 요소

2. 강조, 링크, 이미지

3. 인라인 레벨 요소 안에는 다른 인라인 레벨요소를 포함할 수 있으나 블록 레벨 요소는 포함 불가

 


 

 

섹션 요소

 

- 구역 또는 장

- 의미가 연결되는 콘텐츠의 집합

- 자체적으로 제목가 내용을 가질 수 있는 하나의 독립적인 콘텐츠 단위

 

HTML5의 섹션 요소

 

div 요소에 아이디, 클레스 속성 적용항여 섹션 분리 → HTML5 자주 사용하는 섹션을 추려 새로운 요소로 추가

 

 


 

추가된 섹션 요소

 

1. section : 범용 섹션 요소

 

* 일반적인 문서 또는 프로그램의 섹션

* 보통 제목을 시작하는 콘텐츠의 의미적 그룹

* 문서의 영역을 지정하는 레이아웃을 생성

* 의미 없이 프로그래밍을 위한 불리에는 사용하지 않음

 


 


 

section 태그의 예

 

<!DOCTYPEhtml>

<html>

<head>

<title>2022년 여름 졸업식순</title>

</head>

<body>

<h1>졸업</h1>

<section>

<h1>예식<h1>

<p>시장 행렬</p>

<p>교장 폐회사</p>

</section>

<section>

<h1>졸업생</h1>

<ul>

<li>Molly Carpenter</li>

<li>Susan Rodriguez</li>

</ul>

</section>

</body>

</html>

 

 

1. section : 예식순

2. section : 졸업생 목록

 

section 요소로 내용을 분리

→ 섹션 요소는 내용적으로 분리되어 있어 자체적인 타이틀 필요

ex) <h1>예식</h1>

<h1>졸업생</h1>

 


 

2. <nav> : 네비게이션 요소

 

* 네비게이션 링클 구성되는 섹션

* 하나의 페이지에 하나 이상의 nav 요소가 사용

* 블로그 등의 '페이지 삭제', '수정' 등은 네비게이션 요소가 아니라 기능임

* 목록으로 작성

 


 

목록으로 네비게이션을 만드는 예

 

<nav>

<ul>

<li><a href="1.html">홈</a><li>

<li><a href="2.html">회사소개</a><li>

<li><a href="3.html">제품</a><li>

<li><a href="4.html">고객센터</a><li>

</ul>

</nav>

 

CSS와 JavaScript 적용 시 다양한 동적 네비게이션 메뉴를 만들수 있다.

 


 

3. <article>

 

* 독립적으로 배포 혹은 재사용 가능한 섹션

* 독립적인 글

예) 신문, 잡지 기사, 블로그 글, 댓글 하나

 

아티클 요소 : 제목, header, footer, 그리고 섹션 요소까지 포함

 

4. <aside>

 

* 문서의 주요 콘텐츠와 별개의 영역 정의

* 일반적으로 사이드 바 형태로 표현

 

5. <header>

 

* 페이지 또는 센션의 머릿글 그룹

* 페이지의 제목, 소개, 네비게이션 등이 포함

* 섹션 요소가 안니므로 새로운 섹션을 의미 하지 않음

 

6. <footer>

 

* 가장 가까운 조상 요소의 footer

* 일반적으로 연관 문서에 대한 정보를 담음 ( 작성자, 링크, 저작권 정보 등등 )

* 섹션 요소가 아니므로 새로운 섹션이 아님

 

- 사용 예 : 헤더와 같은 방식으로 사용

 

"요소가 section 요소인지 아닌지에 따라 문서 구조가 달라짐"

 

7. 헤딩과 <hgroup>

 

- 헤딩

 

* 섹션의 제목

* h1~h6까지 존재 (h1 요소 : 가장 높은 등급, h6 요소: 가장 낮은 등급)

* HTML5에서는 헤딩을 순서대로 사용하지 않아도 됨

 

- <hgroup>

 

* 섹션의 제목 그룹 (h1~h6 요소들을 그룹 짓기 위해 사용)

* <hgroup>은 포함된 헤딩 요소의 가장 높은 등급

* 서브 타이틀의 범주의 생성을 감추기 위해 사용

 


 

사용 예

 

<hgroup>

<h1>The reality dysfunction</h1>

<h2>Space is not the only void</h2>

</hgroup>

 

hgroup 등급 : h1 과 동일

h2 : 서브 타이틀 역할만 한다. 섹션 생성은 하지 않는다.

 


 

8. 제목에 따른 섹션 분리

 

- 섹션 요소의 구조 결정

 

* 요소를 겹쳐 상위 요소와 하위 요소를 생성

* 섹션 내부에서는 타이틀(헤딩)의 등급에 따른 구조화

* 헤딩 요소 : 섹션의시작은 표기 되지만 섹션의 끝은 표기 되지 않음

 

9. <address>

 

* 가장 가까운 조상 요소인 article 또는 body 요소의 연락처 정보 의미

* 영향력 : 가장 가까운 조상 요소에 한정

* 내용 : 연락처 정보의 형태라면 어떤 형태라도 허용

 

 


 

구 버전의 웹 브라우저에서 HTML5 요소 사용

 

- HTML의 모르는 요소 처리

 

* HTML은 모르는 요소는 무시하고 콘텐츠만 보여준다.

* 그러므로 블록 레벨 요소도 인라인 레벨 요소처럼 처리된다.

* 결과적으로 문서의 구조와 레이아웃이 심하게 회손된다.

* CSS에서 HTML5에서 새로 추가된 블록 레벨 요소의 디스플레이 속성을 '블록'으로 설정해 교정할 수 있다.

* address, article, aside, figure, footer, geader, hgroup, menu, nav, section { display; block; }

 

- 구 버전의 IE에서 HTML5 요소를 사용하기 위한 코드

 

* <!-[if IF]>

   <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>

   <![endif] →

 


 

 


 

그룹 콘텐츠 요소

 

- 그룹으로 내용을 분리 하는 역할을 하는 요소

- 기존 HTML의 요소가 대부분

- 콘텐츠의 역할을 정의

 

문단과 인용

 

1. <P> : 콘텐츠 문단 의미

 

* 마지막에 P 요소 하나만 사용해 문단을 분리하는 방법으로 잘못 사용

* 정확한 사용 법 : 문단의 시작과 끝에 <P></P> 요소를 정확히 지정

* 콘텐츠 중 문단이긴 하나 더 적합한 요소가 존재하는 경우 : P요소보다 더 적합한 요소를 사용

 


 

 

"최종수정일" 같은 경우에는 <p></p> 보다는 <footer></footer>,

"이메일" 같은 경우는 <address></address>를 적용하는것이 좀 더 구조적이고 적합하다.

 


 

 

2. <blockquote> : 인용을 의미

 

* 인용된 소스의 cite 속성으로 URL 주소 표시

* blockquote 안에 p 요소를 넣어도 되고 넣지 않아도 됨

 


 

사용 예

 

<blockquote cite=http://www.w3.org/standards/">W3C 홈페이지에 있는 웹표준에 관한 단락을 인용</blockquote>

 


 

3. <pre> : 형식화된 텍스트 블록 표현

 

* 공백을 포하한 입력한 텍스트가 그대로 웹 브라우저에 출력

* pre 요소는 웹 브라우저에서 고정폭 서체로 표현

* 컴퓨터 코드나 문서 그림을 표현하는데 적합

 

4. <hr> : 문단 레벨에서 주제의 분리

 

* 문단 레벨에서 주제의 분리를 나타냄

* 씬 전환 또는 참고서의 섹션 냉에서 다른 화제로의 전환 등

* 시각적으로는 분리를 위한 선이 하나 보이지만 표현적 마크업으로 사용하면 안됨

* <ht>은 마침 요소 없이 단일 요소로 사용됨

 

목록

 

* 텍스트 콘텐츠를 설명학시 위해 자주 사용되는 구조

* 순서 있는 목록, 순서 없는 목록, 정의 목록

 

1. 순서가 있는 목록 : 순서가 바뀌면 의미가 바뀌는 목록

 

* <ol> 요소 :  순서가 있는 목록 정의

* <li> 요소 : <ol>의 자식 요소로 목록의 아이템 역할

 


 

사용 예

 

<ol>

<li>내용</li>

<li>내용</li>

<li>내용</li>

</ol>

 

 

"숫자 스타일 같은 경우는 CSS 로 정의 해주어야 한다."

 


 

2. 순서가 없는 목록

 

* <ul> 요소 : 순서가 없는 목록 정의

* <li> 요소 : 목록 아이템 표현

* 목록 앞에 숫자 대신 말머리 기호로 나타냄

 


 

사용 예

 

<ul>

<li>내용</li>

<li>내용</li>

<li>내용</li>

</ul>

 

"말머리 기호의 스타일 역시 CSS로 정의해주어야 한다."

 


 

3. 정의 목록

 

* 사전식 정의를 위해 사용

* 하나 이상의 '정의 제목'과 '정의 내용'의 쌍으로 이루어짐

 


 

사용 예

 

<dl>

<dt>내용</dt>

<dd>내용</dd>

</dl>

 

 

<dl> : 정의 목록 요소

<dt> : 정의 목록 제목 요소

<dd> : 정의 목록 데이터(값) 요소

 


 

기타 그룹핑

 

1. <figure>, <figcaption>

 

- <figure> 요소

 

* 일반적으로 사진, 일러스트, 비디오 등을 표시하고 주석을 다는 용도

* 제거하거나 위치를 옮기더라도 문서의 주된 흐름에는 영향을 미치지 않음

* figcaption 요소를 포함

 

- figcaption 요소 : figure 요소 내용에 대한 캡션

 

2. <div>

 

* 구조적으로 특별한 의미가 전혀 없으

* 스타일 또는 스크립트 목적으로 콘텐츠를 분리하기 위해 사용 

 

 


 

 

id, class, title

 

* 전역 속성으로 모든 요소에서 속성으로 사용 가능

 

1. id 속성

 

* HTML 코드 내 유일한 식별자

 

2. class 속성

 

* HTML 코드 내 같은 값을 다수 가질 수 있음

* CSS나 JavaScript에서 HTML 코드 내 여러 요소에 동일한 스타일, 작동 적용을 위해 사용

 

3. title 속성

 

* 요소의 조언 정보를 나타냄

* 웹 브라우저에서 툴팁으로 표시

 

 


 

 

텍스트 관련 요소

 

- 텍스트 구조를 나타내는 온라인 레벨 요소

 

1. <a>

 

* 하이퍼링크를 나타냄

* herf 속성으로 링크 경로를 지정

 


 

사용 예

 

<a href="www.naver.com" target="_blank">회사</a>

 

※ targer 속성 : 실행 될 윈도우 지정 ( _self, _parent, _top, _blank 값 중 하나를 속성으로 가짐 )

_self : 현재의 웹 브라우저 창에서 링크가 열림

_parent : 현재의 웹 브라우저 창의 부모 창이 있다면 그 부모 창에서 링크가 열림

_top : 최상위 웹 브라우저 창에서 링크가 열림

_blank : 새로운 웹 브라우저 창을 생성하고 링크가 열림

 

href 속성이 없다면 target 속성도 사용하면 안됨

 


 

2. <em>, <strong>

 

* <em> 요소 : 내용을 강조하기 위해 사용

* <strong> 요소 : 내용이 중요함을 표시

* 요소를 중첩해 강조와 중요함의 정도를 표현 가능

 

3. <q>, <cite>

 

* <q> 요소 : 인용을 나타내는 인라인 요소

* <blockquote>를 사용하여 인용된 단락 표현

* <q> 요소로 인용 구두점을 사용하면 안됨

* <cite> 요소 : 인용 문구의 원본 주소, 즉 작품의 제목 언급이나 참조 했을때 사용

 

4. <abbr>

 

* 약어 및 두문자어 나타냄

*  title 속성 : <abbr>에서 사용할 때만 원형 표시 가능

* 특정 약어 스타일을 적용하고자 할 때 span 대신 사용 간능

 

5. <i>, <b>

 

* i와 b 요소를 예전 버전의 HTML에서 표현적 마크업 요소

* HTML5에서 자주 사용하는 표현적 마크업에 구종적 의미를 부여

* <i> 요소 : 가장 주된 사용은 다른 언어 표현 (영문에서 이텔릭체로 표현하는 숙어인용, 분류학 등에 사용)

* <b> 요소 : 의미 있는 중요성을 부가하지 않고 눈에 띄게 하기 위해 사용

 

6. <sup>, <sub>

 

* <sup> 요소 : 위첨자

* <sub> 요소 : 아래 첨자

 

7. <span>, <br>, <img>

 

- <span> 요소

 

* 아무 의미도 가지고 있지 않음

* 단지 인라인 레벨에서 스타일을 적용하거나 스크립트에서 사용하고자 콘텐츠를 분리하는 역할

 

- <br> 요소

 

* 마침 요소 없이 사용되며, 문단 분리가 아닌 다순 줄바꿈을 표시

* 단락 분리의 의미로 사용해서는 안되며 시 또는 주소 작성 등에 사용

 

- <img> 요소

 

* 이미지를 의미

* 마침 요소가 없이 단독으로 사용

* 디자인을 위한 이미지를 지정에 사용하면 안됨

* src 속성에 이미지의 경로를 지정

* alt 속성은 이미지를 대체하기 위한 텍스트

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

'매니저 > HTML5&CSS3&Javascript&PHP&드림위버' 카테고리의 다른 글

PHP 소개 (임시저장)  (0) 2013.03.09
HTML5 문서 구조화 (2)  (0) 2013.03.05
HTML5의 이해  (0) 2013.02.15
JavaScript 기초 문법편  (0) 2013.02.08
토글 스위치  (0) 2013.01.02
Posted by cdprkr2077
|