html
HTML5 문법 특징
- HTML5는 HTML4.01이나 XHTML1.0문법을 모두 허용하기 때문에 기존에 사용하던 마크업 문법을 그대로 사용할 수 있음.
- 가령 HTML4.01에서 종료 태그 생략을 허용했던 방식이나 XHTML1.0에서 빈 요소 선언시
<요소명 />
형식으로 기술했던 방식 모두를 허용함. - 이는 하위 호환성을 위한 정책으로, 과거 HTML4.01로 제작된 문서가 문법적인 느슨함으로 인해 발생했던 문제가 되풀이 될 수 있기 때문에 좀 더 엄격한 규칙을 정하고 마크업 문서를 장성하는 것이 바람직할 것임
종료 태그의 생략
- HTML5는 종료 태그를 생략할 수도 있음. 그러나 모든 요소가 종료 태그를 생략해도 되는 것은 아니기 떄문에 종료 태그가 생략할 수 있는 요소를 사전에 확인 해야 함.
- HTML5에서 종료 태그를 생략하는 것이 가능하다고 하더라도 기존 XHTML1.0의 규칙처럼 시작과 종료 태그를 정확히 명시하여 정형식(Well-Formed)구조로 마크업 할 것을 권장함.
대소문자의 사용
- HTML5는 시작 및 종료 태그는 물론 속성에 대문자 또는 소문자를 사용할 수도 있음. 하지만 기존 XHTML1.0규칙처럼 소문자만을 사용할 것을 권장함
빈요소(Empty Element), 독립형 태그
- HTML에서 meta, link, img, br,input 등 종료 태그를 가지고 있지 않은 요소를 ‘빈 요소(empty element)’라고 하는데, 기존 HTML4.01에서는 형식으로, XHTML1.0에서는 형식으로 선언해야 하며, HTML5에서는 두가지 방식 모두 허용하고 있음. 그러나 기존 XHTML1.0규칙처럼 빈 요소는 />형식으로 사용할 것을 권장함
속성(attribute)과 값(value)
- 논리 속성의 경우 속성값을 지정 또는 생략할 수 있음. 기존 XHTML1.0 규칙은 중복 선언하는 방식이므로 속성값에 속성명을 지정하는것을 권장함
- 속성 값은 인용부호를 생략하거나 홀따옴표 겹따옴표 등으로 구분할 수도 있음. 하지만 정확한 구분을 위하여 겹따옴표 사용을 권장함
잘못된 중첩 사용 불가능, 속성의 중복 사용 불가능, 문서참조
- 시작태그와 종료태그의 중첩에 문제가 발생하지 않도록 해야함.
- 시작태그에 동일한 속성을 중복하여 선언할 수 없음.
- 특수문자의 경우 , Characters Entity Name이나 Characters Entity Code로 변환하여 마크업 해야함.
HTML5의 Doctype
- HTML5의 문서형 선언은 기존 HTML의 목적과 달리 모든 웹 브라우저에서 표준 모드 (Stanards Mode)로 렌더링 될 수 있도록 하는 역할만을 담당.
<!DOCTYPE html> <!-- html5 -->
<!DOCTYPE html PUBLIC "-//W3c//DTD XHTML 1.0 transitional//EN""http://www.w3.org/TR/xhtml/DTD/xhtml1-transitional.dtd">
<!-- xhtml 1.0 -->
HTML5의 인코딩
- HTML5문서 에서 간소화된 문자 인코딩 지정방법
<meta charset="utf-8"> <!-- html5 -->
<meta http-equiv="content-type" content="text.html; charset=utf-8" />
<!-- xhtml1.0 -->
HTML5 문법 결론
- HTML5는 XHTML1.0보다 좀더 대충해도 된다. 하지만 대충하지 않을것을 권장한다
- XHTML1.0문법으로 작성하면 HTML5에서도 문제를 일으키지 않는다.
- HTML5문법으로 작성하면 XHTML1.0에서 문제를 일으킬 수 있다.
- 예전 HTML4.01에서 느슨한 문법 때문에 많은 문제들이 발생했기 때문