웹페이지를 작성(구조화)하기 위한 언어
ex) html, markdown
기본 구조
<!DOCTYPE html>
<html>
<head>
<title>WebPage</title>
<meta charset="UTF-8">
<link href="style.css" rel="stylesheet">
<script src="javascript.js"></script>
<style>
li {
color: black
}
</style>
</head>
<body>
<h1>웹의 구성요소</h1>
<ul>
<li>HTML</li>
<li>CSS</li>
<li>JS</li>
</ul>
</body>
</html>
HTML Global Attribute : 모든 HTML요소가 공통으로 사용할 수 있는 대표적인 속성
시맨틱 태그(Semantic) : HTML5에서 의미론적 요소를 담은 태그
기존 영역을 의미하는 div 태그를 대체
요소의 의미가 명확해지기 때문에 코드의 가독성을 높이고 유지보수를 쉽게 함
검색엔진 최적화(SEO)를 위해서 메타태그, 시맨틱 태그 등을 통한 마크업을 효과적으로 활용해야 함
<div>
<div></div>
</div>
<div>
<div></div>
<div></div>
</div>
<div></div>
<header>
<nav></nav>
</header>
<section>
<article></article>
<article></article>
</section>
<footer></footer>
DOM(Document Object Model) 트리
HTML 문서에 대한 모델을 구성함
HTML 문서 내에 각 요소에 접근 / 수정에 필요한 프로퍼티와 메서드를 제공함
문서 노드 : Document에 해당하는 트리 최상단 계층으로, 문서 전체를 가리키는 객체. DOM 트리로 웹페이지를 접근하는 시작점
요소 노드 : 모든 HTML 태그에 해당(속성노드를 가질 수 있는 유일한 노드)
속성 노드 : 모든 HTML 태그의 속성은 속성노드
텍스트 노드 : HTML 문서의 의 모든 텍스트는 텍스트 노드. 개행, 공백은 명시적으로 보이지 않더라도 텍스트 노드로 취급함
주석 노드 : HTML 문서의 모든 주석은 주석노드
인라인 / 블록 요소
HTML 요소는 크게 인라인과 블록 요소로 나뉨
텍스트 요소(Inline)
태그 | 설명 |
---|---|
<a></a> | href 속성을 활용하여 다른 URL로 연결하는 하이퍼링크 생성 |
<b></b> | |
<strong></strong> | 굵은 글씨 요소 |
중요한 강조하고자 하는 요소 (보통 굵은 글씨로 표현) | |
<i></i> | |
<em></em> | 기울임 글씨 요소 |
중요한 강조하고자 하는 요소 (보통 기울임 글씨로 표현) | |
<br> | 텍스트 내에 줄 바꿈 생성 |
<img> | src 속성을 활용하여 이미지 표현 |
<span></span> | 의미 없는 인라인 컨테이너 |
그룹 컨텐츠(Block level)
태그 | 설명 |
---|---|
<p></p> | 하나의 문단 (paragraph) |
<hr> | 문단 레벨 요소에서의 주제의 분리를 의미하며 수평선으로 표현됨 (A Horizontal Rule) |
<ol></ol> | |
<ul></ul> | 순서가 있는 리스트 (Ordered List) |
순서가 없는 리스트 (Unordered List) | |
<pre></pre> | HTML에 작성한 내용을 그대로 표현. |
보통 고정폭 글꼴이 사용되고 공백문자를 유지 | |
<blockquote> | |
</blockquote> | 텍스트가 긴 인용문 |
주로 들여쓰기를 한 것으로 표현됨 | |
<div></div> | 의미 없는 블록 레벨 컨테이너 |
form
<form>
은 정보(데이터)를 서버에 제출하기 위해 사용하는 태그
<form>
기본 속성
<form action="/search" method="GET>
</form>
input
다양한 타입ㅇ르 가지는 입력 데이터 유형과 위젯이 제공됨
<input>
대표적인 속성
<form action="/search" method="GET>
<input type="text" name="q">
</form>
# GOOGLE => <https://www.google.com/search?q=검색어>
input의 유형(type)
select
label