본문 바로가기

카테고리 없음

[개념정리] HTML : Hyper Text Markup Language

HTML 은 마크업 언어라는 것.

CSS는 디자인 을 적용할 수 있는 수단이라는 것.

 

프로그래밍 교육에 대한 관심이 높아 지면서 HTML 단어 자체에 대한 친숙도가 요즘은 높겠지만, 정작 HTML은 프로그래밍 언어가 아니라, 파일을 열어보면 text만 잔뜩있을 뿐이다.

패턴이 있을텐데 <>요런 태그로 정리가 되어 있다.

그렇다. HTML은 긴 text를 <head></head>, <title></title>과 같은 태그들로 웹이 읽어서 표시할 수 있게끔 마크업해주는 언어일 뿐이다.

 


 

1. 태그?

 

<!DOCTYPE html>
<html>
    <head>
        <title>타이틀입니다</title>
    </head>
    <body>
        <h1>큰 제목</h1>
        <h2>작은 제목</h2>
    </body>
</html>

 

처음 html 공부하는 학생에게 가장 기초적으로 주어지는 예시 코드다.

  •  태그는 열고  닫아야한다. <head>가 있으면 </head>도 있어야 한다는 뜻이다.
    • 그런데 상단의 첫번째 태그는 닫히지 않았다. 저 태그를 self-contained 태그라고 한다. 스스로 열고 닫고를 다하는 태그다. 그자체로 정보가 되는 태그라서 열고 닫아 그 사이에 또 다른 정보를 넣지 않는다.
  • <head>와 </head>사이에 들어 있는 text는 브라우저에게 전달하는 정보이다. 유저들이 보는 컨텐츠 내용에 포함이 안된다는 뜻이기도 하다.
  • 그럼 컨텐츠는 어디에 작성? <body></body>사이에 작성하면 된다.

 

2. id? class?

 

<html>
    <body>
        <div>
            <header id="header1" class="default"></header>
        </div>
        <div>
            <header id="header2" class="default"></header>
        </div>
    </body>
</html>

 

예를 들어 body 안에 두개 이상의 같은 tag가 사용되는 상황을 가정한다.(코드는 예시용으로 많은 필요한 다른 태그들은 뺐다.)

만약 js 에서 각각의 header에 다른 액션을 구현한다고 하면, 동일한 tag인 두개의 컨트롤을 구별할 수 있어야 한다.

그래서 붙여준 것이 id 다.

id는 주민번호 처럼 페이지에서 그 컨트롤을 구분할 수 있는 유일 값이 여야 한다.

class는 css 에서 작성한 디자인을 여러 컨트롤에 동일하게 적용할 수 있게 하는 tag로 하나의 class를 여러군데 지정가능하다.

 

 

3. css 파일 연결?

 

물론 html 파일 내부에 <style>을 적용할 수도 있지만 여러 페이지에 동일한 style을 적용하려고 할 때 동일 <style> 코드를 각 html 에 c+v 해두어야 하는 문제가 발생한다. 작성 할 때 한번만 하는거라면, 뭐 그 노동을 감수 할 수도 있겠지만.. 유지보수 측면으로 보면 inline 스타일 코드는 쓰지 않는 것이 맞다.

 

<head>
	<link href="styles.css" rel="stylesheet">
</head>

 

 

css 파일을 작성 해, 파일 이름을 link로 html 파일의 head 부분에 추가해 주기만 하면 inline으로 일일이 작성하지 않고도 디자인을 적용할 수 있다.