HTML : Hypertext Markup Language
사용자에게 보여주고 싶은 컨텐츠를 브라우저가 읽을 수 있도록 tag를 사용해서 만든 문서
웹 페이지를 표현하기 위해 사용하는 언어
html 언어로 된 작성된 파일을 구동할 수 있는 프로그램
ex) 크롬, 엣지, 익스플로러, 사파리, 파이어폭스 등
웹 브라우저는 HTML 문서를 우리가 볼 수 있는 웹 페이지 형태로 변환해준다.
웹 브라우저의 역할
프로그래밍 언어: 데이터를 가공
마크업 언어: 어떤 방식으로 어디에 어떻게 표현할지를 기술
html은 웹페이지를 위한 마크업 언어
구조 HTML: 웹 문서의 기본적인 골격을 담당
표현 CSS: 각 요소들의 레이아웃, 스타일링을 담당
동작 Javascript: 동적인 요소 (사용자와의 인터렉션)을 담당
HML과 CSS가 나누어져 있다면 스타일링과 레이아웃만 다른 두 개의 웹페이지를 만들 수 있음
1) 웹 표준 (Web Standards)
2) 웹 접근성 (Web Accessibility)
3) 웹 호환성 (Cross Browsing)
웹 표준, 웹 접근성, 웹 호환성이 좋을수록, 더 나은 코드와 웹 페이지를 만들 수 있음
HTML 문서는 요소(Element)로 구성되어 있다.
요소(Element) = 태그(Tag) + 내용(Content)
태그는 반드시 여는 태그(Opening tag)와 닫는 태그(Closing tag) 한 쌍으로 구성되어야 한다.
요소 작성 예시
<h1>
, 닫는 태그 : </h1>
, 컨텐츠: This is the title!
<h1>This is the title!</h1>
요소는 속성(Attribute)를 가질 수 있다.
속성 : 태그에 대한 추가적인 내용을 담고있다.
속성은 여는 태그 안에 작성한다.
사용법 : 속성 이름 = “속성 값”
속성은 여러개 작성할 수 있으며, 속성과 속성 사이는 공백으로 구분한다.
예시) a 태그의 속성
input
<a href=”https://www.google.com/” target=”_blank”>구글 바로가기</a>
output
<img>
, <br>
, <hr>
, <input>
<br/>
: 줄바꿈<hr/>
: 가로줄<img src=”image_test.jpg”/>
주석(Comment) : (브라우저가 해석하지 않고) 무시되는 설명문. 프로그램의 실행에 아무런 영향을 미치지 않음
주석의 목적
HTML에서의 주석 작성 문법 :
<!-- 내용 –->`
내용은 여러 줄이 들어갈 수 있음
에디터 : Ctrl
MAC : cmd + /
HTML 문서는 계층적으로 작성되어야 한다.
HTML 문서의 최상위 태그(root tag)는 이며, 그 아래에 와 두가지로 나뉜다.
head : HTML 문서의 메타데이터(HTML 문서에 대한 정보성 데이터)를 포함
body : 브라우저 화면에 표시될 실제 컨텐츠
참고) DOM
DOM은 Document Object Model의 약어
객체로 문서 구조를 표현하는 방법
HTML, XML 문서에서 사용하는 개념
DOM은 문서를 트리(Tree) 형태로 표현한다.
웹 브라우저는 DOM을 통해 객체(특정 요소)에 접근하여 자바스크립트, CSS를 적용함
head : HTML 문서의 메타데이터(HTML 문서에 대한 정보성 데이터)를 포함
메타데이터 : 데이터를 설명하는 데이터
<title>
: 페이지 제목
<meta charset=”utf-8”>
: (말 그대로) 여러가지 메타 정보
<meta charset=”utf-8”>
: 인코딩 설정<meta name=”viewport”>
뷰포트 설정(모바일웹, 반응형웹)<link>
: favicon 적용, css 파일 연결 등<style>
: css 작성 (권장 X)body : 브라우저 화면에 표시될 실제 컨텐츠
페이지의 구조적인 요소를 나타낼 때
예 : <p>
, <div>
, <form>
, <h1> ~ <h6>
, <ol>, <ul>, <li>
…
블록 요소 다음에는 반드시 줄바꿈(New line)이 들어감
한 줄 전체를 차지함
문장, 단어 등 작은 부분에 주로 사용
예 : <span>
, <a>
, <button>
, <img>
, <em>
, <strong>
, <i>
, <b>
…
인라인 요소 다음에는 줄바꿈(New line)이 들어가지 않음
컨텐츠 크기만큼의 공간만 차지함
블록 요소 사이에 인라인 요소가 들어갈 수 있음
인라인 요소 안에는 블록 요소가 들어갈 수 없음. 예외) a 태그
인라인 요소 안에 인라인 요소는 들어갈 수 있음