| 항목 | 픽셀 방식 (Raster) | 벡터 방식 (Vector) |
|---|---|---|
| 정의 | 작은 점(픽셀)들의 집합으로 이미지를 표현 | 수학적인 도형(선, 면 등)으로 이미지를 표현 |
| 확대 시 | 깨짐 (해상도 의존적) | 절대 깨지지 않음 (무제한 확대 가능) |
| 용도 | 사진, 복잡한 이미지 | 로고, 아이콘, 일러스트, 글자 |
| 용량 | 복잡하면 클 수 있음 | 보통 더 가볍고 최적화 가능 |
| 대표 포맷 | .jpg, .png, .gif | .svg, .ai, .eps, .pdf |
| 태그 / 속성 | 설명 |
|---|---|
<!DOCTYPE html> | 문서가 HTML5 문서임을 선언. 브라우저가 HTML5 방식으로 해석하도록 함. |
<html lang="ko" translate="no"> | 전체 문서의 시작. lang="ko"는 한국어 문서라는 의미. translate="no"는 Google 번역 등 자동 번역을 막음. |
<head> | 웹 페이지의 설정 정보(메타 정보)를 담는 영역. 브라우저에 표시되지 않음. |
<meta charset="UTF-8"> | 문자 인코딩을 UTF-8로 설정. 한글 포함 다양한 언어가 깨지지 않게 함. |
<meta name="google" content="nottranslate"> | Google 번역기에게 이 페이지는 번역하지 말라고 지시함. |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | 반응형 웹을 위한 설정. 디바이스의 화면 너비에 맞추고 확대 배율을 1로 설정. |
<title>01-HelloHTML</title> | 웹 브라우저 탭에 표시될 문서 제목. 즐겨찾기 등록 시에도 사용됨. |
<body> | 실제 브라우저 화면에 표시되는 본문 내용을 담는 부분. 사용자에게 보여지는 모든 요소가 이 안에 들어감. |
<h1>Hello HTML</h1> | 가장 큰 제목을 나타냄. 보통 문서의 대표 제목이나 로고 등에 사용. |
<p>첫번째 웹 페이지 입니다.</p> | 하나의 문단(paragraph)을 나타냄. 일반 텍스트 블록에 사용. |
</태그> | 각각의 태그는 닫는 태그가 있어야 하고, </태그> 형식으로 닫음. HTML5에서는 일부 태그는 생략 가능하지만 명시하는 것이 안전함. |
<!DOCTYPE html>
<html lang="ko" translate="no">
<head>
<meta charset="UTF-8">
<meta name="google" content="nottranslate">
<meta name="viewport"
content="width=device-width, initial-scale=1.0">
<title>01-HelloHTML</title>
</head>
<body>
<h1> Hello HTML </h1>
<p> 첫번째 웹 페이지 입니다. </p>
</body>
</html>
| 구분 | 실수 내용 | 문제 설명 | 수정 예시 |
|---|---|---|---|
| ✅ 따옴표 위치 | <html lang = "ko translate="no"> | "가 중복되어 문법 오류 발생 | <html lang="ko" translate="no"> |
| ✅ 띄어쓰기 | <html lang = "ko"> | = 앞뒤 공백은 HTML 관례상 지양됨 | <html lang="ko"> |
| ✅ 오타: viewport | widh = device-width, initial-scal=1.0 | width, scale 철자 오타 → 모바일 화면 작동 이상 | width=device-width, initial-scale=1.0 |
| ✅ 오타: title | <tiltle>...</tiltle> | 태그 이름 오류 → 브라우저가 인식 못함 | <title>...</title> |
| ✅ 공백: title 내부 | <title> ${TM_FILENAME_BASE} </title> | ${} 변수 앞뒤 공백은 불필요 | <title>${TM_FILENAME_BASE}</title> |
"HTML 기본 템플릿": {
"prefix": "my_html_template",
"body": [
"<!DOCTYPE html>",
"<html lang=\"ko\" translate=\"no\">",
"<head>",
" <meta charset=\"UTF-8\">",
" <meta name=\"google\" content=\"nottranslate\" />",
" <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">",
" <title>${TM_FILENAME_BASE}</title>",
"</head>",
"<body>",
"$1",
"</body>",
"</html>"
],
"description": "HTML 기본 템플릿"
}
: 문단을 나누는 것
| 태그 | 역할 / 설명 |
|---|---|
<header> | 페이지나 섹션의 머리말 영역 보통 제목, 로고, 네비게이션 등이 포함됨 |
<nav> | 내비게이션 메뉴 영역 사이트 메뉴, 링크 모음 등을 담는 영역 |
<main> | 문서의 주요 콘텐츠 영역 문서에서 핵심적인 내용만 포함 (하나만 사용 권장) |
<section> | 문서 내의 주제를 구분하는 영역 논리적으로 묶이는 그룹 (예: 소개, 서비스, 문의 등) |
<article> | 독립적으로 완전한 콘텐츠 블록 예: 블로그 글, 뉴스 기사, 사용자 리뷰 등 |
<aside> | 본문 외의 보조 콘텐츠 영역 예: 광고, 관련 링크, 사이드바 등 |
<footer> | 페이지나 섹션의 꼬리말 영역 예: 저작권, 연락처, 사이트 맵 등 |
<!DOCTYPE html>
<html lang="ko" translate="no">
<head>
<meta charset="UTF-8">
<meta name="google" content="nottranslate" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>01-3단-레이아웃</title>
</head>
<body>
<div>
사이트 로고 & 메뉴
</div>
<div>
여기는 본문 영역입니다
</div>
<div>
회사 이름 밑 카피라이트 표시
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="ko" translate="no">
<head>
<meta charset="UTF-8">
<meta name="google" content="nottranslate" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>01-3단-레이아웃</title>
</head>
<body>
<header>
사이트 로고 & 메뉴
</header>
<main>
여기는 본문 영역입니다
</main>
<footer>
회사 이름 밑 카피라이트 표시
</footer>
</body>
</html>
| 용어 | 설명 | 예시 |
|---|---|---|
| CSS 속성 | HTML 요소의 스타일을 지정하는 이름 | color, font-size, margin |
| 값(Value) | 속성에 적용할 구체적인 수치나 색상 등 | red, 16px, center |
| 구분자 | :는 속성과 값을 연결 / ;는 스타일을 구분 | color: red; |
| 10진수 | 16진수 |
|---|---|
| 0 | 0 |
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
| 5 | 5 |
| 6 | 6 |
| 7 | 7 |
| 8 | 8 |
| 9 | 9 |
| 10 | A |
| 11 | B |
| 12 | C |
| 13 | D |
| 14 | E |
| 15 | F ✅ |
| 단위 | 기준 설명 | 사용 예 | 의미 |
|---|---|---|---|
% | 부모 요소의 크기 | width: 50%; | 부모 요소 너비의 50% ※ 부모가 없으면 브라우저 너비 기준 |
em | 현재 요소의 폰트 크기 | font-size: 2em; | 현재 글꼴 크기의 2배 |
rem | 루트 요소(html)의 폰트 크기 | font-size: 1.5rem; | 전체 웹 페이지의 기본 글자 크기의 1.5배 |
vw | 뷰포트 너비의 1% | width: 50vw; | 화면 가로 길이의 50% |
vh | 뷰포트 높이의 1% | height: 100vh; | 화면 전체 높이만큼의 높이 |
<!DOCTYPE html>
<html lang="ko" translate="no">
<head>
<meta charset="UTF-8">
<meta name="google" content="nottranslate" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>01-3단-레이아웃</title>
</head>
<body>
<header style="background-color:#4cca53; padding: 3%">
사이트 로고 & 메뉴
</header>
<main style="background-color: rgb(174, 223, 215); padding: 100px">
여기는 본문 영역입니다
</main>
<footer style="background-color: rgb(201, 162, 114); padding: 150px">
회사 이름 밑 카피라이트 표시
</footer>
</body>
</html>
<!DOCTYPE html>
<html lang="ko" translate="no">
<head>
<meta charset="UTF-8">
<meta name="google" content="nottranslate" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>01-3단-레이아웃</title>
</head>
<body>
<header style="background-color:#4cca53; padding: 3%;">
사이트 로고 & 메뉴
</header>
<div>
<nav style="background-color: rgb(174, 223, 215); padding: 20px;">
사이드바 영역
</nav>
<main style="background-color: firebrick; padding:20px;">
컨텐츠 영역
</main>
</div>
<footer style="background-color: rgb(201, 162, 114); padding: 50px;">
회사 이름 밑 카피라이트 표시
</footer>
</body>
</html>
<!DOCTYPE html>
<html lang="ko" translate="no">
<head>
<meta charset="UTF-8">
<meta name="google" content="nottranslate" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>02-사이드바 레이아웃</title>
<style>
div {
display: flex;
nav {flex: 0 0 200px;
border: 5px solid #fff;
margin: 10px;}
main { flex: 1 1 auto;
border: 5px solid #fff;
margin: 10px;}
}
</style>
</head>
<body>
<header style="background-color:#4cca53; padding: 20px;">
사이트 로고 & 메뉴
</header>
<div>
<nav style="background-color: rgb(174, 223, 215); padding: 20px;">
사이드바 영역
</nav>
<main style="background-color: firebrick; padding:20px;">
컨텐츠 영역
</main>
</div>
<footer style="background-color: rgb(201, 162, 114); padding: 20px;">
회사 이름 밑 카피라이트 표시
</footer>
</body>
</html>
<!DOCTYPE html>
<html lang="ko" translate="no">
<head>
<meta charset="UTF-8">
<meta name="google" content="nottranslate" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>01-그리드 레이아웃</title>
<style>
</style>
</head>
<body>
<header style="background-color:rgb(233, 208, 232); padding: 20px;">
사이트 로고 & 메뉴
</header>
<main style="background-color: #585453; padding: 20px;">
<div style="background-color: #c3b7da80; padding: 10px">grind item</div>
<div style="background-color: #c3b7da80; padding: 10px">grind item</div>
<div style="background-color: #c3b7da80; padding: 10px">grind item</div>
<div style="background-color: #c3b7da80; padding: 10px">grind item</div>
<div style="background-color: #c3b7da80; padding: 10px">grind item</div>
<div style="background-color: #c3b7da80; padding: 10px">grind item</div>
<div style="background-color: #c3b7da80; padding: 10px">grind item</div>
<div style="background-color: #c3b7da80; padding: 10px">grind item</div>
</main>
<footer style="background-color: rgb(233, 208, 232); padding: 20px;">
회사 이름 밑 카피라이트 표시
</footer>
</body>
</html>
<!DOCTYPE html>
<html lang="ko" translate="no">
<head>
<meta charset="UTF-8">
<meta name="google" content="nottranslate" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>01-그리드 레이아웃</title>
<style>
main{
display: flex;
flex-wrap: wrap;
div{
box-sizing: border-box;
flex: 1 1 calc(25% - 10%);
border: 5px solid #fff;
margin: 5px;
}
}
</style>
</head>