HTML이란 Hyper Text Markup Language를 줄여 놓은 것으로 웹사이트에 뼈대를 구축하는 것이다. Programming Language와는 달리 단순히 특정 형식과 문법대로 배치 해놓는 것이다.
Markup Language는 웹사이트에서 어떤게 제목이고 어떤게 소제목인지 어떤게 내용이고 뭐가 중요한지를 화면에 시각적으로 표시하는 역할을 한다.
그 뿐 아니라 검색 엔진이나 소프트웨어 시스템이 파일들을 제대로 분석해 사용자에게 좋은 서비스를 제공하기 위해서 사용하기도 한다.
기존의 text, 순서대로만 읽어낼 수 있었던 전의 문서에서 발전해 중간에 링크를 통해 어디로든 이동할 수 있는 혁신적인 문서이다.
파일을 작성 한 후 파일명.html 로 작성하면 파일을 html문서로 받아들이고 저장하게 된다.
과거에는 잡지처럼 단순하게 적정한 형식으로 글과 링크들이 배치되는 형식이어서
위짓 (What You See What You Get)방식으로 많이 만들었다면,
현재는 반응형 웹 같은 크기 조절과 여러 동적 기능들이 많이 들어가있기 때문에 위짓 방식으로는 만들기 어렵고 코딩을 하는게 더 쉬울 수도 있다.
퀄리티도 코딩으로 만드는게 훨씬 높고 코딩 작업 환경도 많이 좋아졌기 때문에 요즘은 코딩으로 만든다.
<html></html> // 이 안에 모든 html 태그들이 들어가있다. 꺽쇠와 꺽쇠 안의 태그로 이루어져있다.
<html>
<head> // 대부분 html문서는 head와 body로 나누어져 있다.
...
</head>
<body>
...
</body>
<html> // 이런식으로 태그안에 태그를 넣을 수도 있다.
// html 파일에서 !를 치고 엔터를 누르면
<!DOCTYPE html>
<html lang="ko-KR">
<head> //head 부분은 눈에 보이지 않는 부분이다
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body> // body 부분은 눈에 보이는 부분이다
</body>
</html> // 이런 파일이 생기고 이걸 바탕으로 html 문서 작성을 시작한다.
<html lang="ko-KR">
// 언어를 설정하는 부분이며 검색을 했을 때 우선순위의 언어라고 생각 할 수 있다.
// 단순히 읽는 것 뿐만이 아니라 읽기 어려운 사람들에게 소리로 제공할 수 있는 접근성과도 관련이 있다.
<meta charset="UTF-8" />
// 전 세계 모든 나라 언어를 사용할 수 있는 세팅
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
// 반응형 웹인지 적응형 웹인지 설정
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
// 최신 버전의 익스플로러 형식으로 읽으라는 뜻
<h1>~<h6>
<br>
<p>
<b>
<strong>
<i>
<em>
<small>
<cite>
<mark>
<sup>
<sub>
<s>
<blockquote>
ul
ol
li
table
tr
th
td
caption
<a>,<b>,<br>,<button>,<cite>,<em>,<i>,<img>,<input>,<label>,<script>,<select>,<small>,
<span>,<strong>,<sub>,<sup>,<textarea>
<article>,<aside>,<blockquote>,<div>,<footer>,<form>,<h1~h6>,<header>,
<hr>,<li>,<ol>,<ul>,<nav>,<p>,<section>
<div>
: division<header>
footer
nav
aside
main
<body>
의 주요 컨텐츠section
article
label
<label for="ip-name">이름</label>
<input id="ip-name" type="text" /> // for과 id 를 일치시켜 엮기
placeholder
로 입력값이 공백일 때 보여질 텍스트를 설정 가능maxlength
로 최대 글자수 제한 가능radio
로 선택하게 만들기 가능 (name으로 여러개 중 1개 선택하게 만들기) <input id="input-dev" name="role" type="radio" checked />
<label for="input-dev">역할1</label>
<input id="input-dev2" name="role" type="radio" />
<label for="input-dev2">역할2</label>
<input id="input-dev3" name="role" type="radio" />
<label for="input-dev3">역할3</label>
- flie
로 파일 첨부 가능 (multiple로 여러개 첨부도 가능)
- radio
로 표현하기 힘든 많은 종류가 있을 때
select
,option
으로 표현
<select id="sel-dep">
<option value="dpt">개발팀</option>
<option value="mkt">마케팅팀</option>
<option value="adm">운영팀</option>
<option value="frt">프엔팀</option>
<option value="bck">백엔팀</option>
</select> // value 값은 서버와 통신할 때 쓸 값
- textarea
로 여러 줄의 텍스트 입력 가능
- button
으로 제출이나 취소 등의 버튼 만들기