**HTML5(HyperText Markup Language version 5)**는 웹 문서의 구조와 의미를 정의하는 마크업 언어로, W3C와 WHATWG에서 표준화했습니다.
주요 목표는 다음과 같습니다:
표준화와 호환성 강화
<div>
와 <span>
중심의 비의미적 구조에서 벗어나 의미 기반 구조 제공.멀티미디어 지원
<audio>
와 <video>
태그로 플러그인(Flash 등) 없이 미디어 재생 가능.웹 애플리케이션 강화
모바일 친화적 설계
<meta viewport>
와 CSS3 미디어 쿼리와 결합 가능.HTML5는 **의미 기반 구조(Semantic Web)**를 지향합니다.
태그 | 역할 |
---|---|
<header> | 문서 또는 섹션의 머리말 |
<nav> | 내비게이션 링크 모음 |
<main> | 문서의 핵심 콘텐츠 |
<section> | 주제별 콘텐츠 블록 |
<article> | 독립적 재사용 가능한 콘텐츠 단위 |
<aside> | 보조 콘텐츠, 사이드바 |
<footer> | 문서/섹션 하단 정보 |
<figure> / <figcaption> | 이미지 + 설명 |
<mark> | 강조 표시 |
<time> | 날짜와 시간 표기 |
장점:
<video controls autoplay loop>
<source src="movie.mp4" type="video/mp4">
브라우저가 비디오 태그를 지원하지 않습니다.
</video>
controls
, autoplay
, loop
, muted
, preload
play()
, pause()
, currentTime
, volume
제어 가능.const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");
ctx.fillStyle = "red";
ctx.fillRect(10, 10, 100, 50);
HTML5는 사용자 입력 검증과 데이터 타입을 브라우저에서 직접 처리하도록 확장했습니다.
입력 타입 | 기능 |
---|---|
email | 이메일 형식 검사 |
url | URL 형식 검사 |
number | 숫자 입력, 최소/최대 값 지정 가능 |
range | 슬라이더 UI 제공 |
date , time , datetime-local | 날짜/시간 선택 UI 제공 |
color | 컬러 피커 제공 |
required
, pattern
, min
, max
, step
navigator.geolocation.getCurrentPosition(
position => console.log(position.coords.latitude, position.coords.longitude)
);