본문 바로가기

Programming

[HTML] HTML의 기본 문법

1. 요소(Element)

html의 요소는 시작태그(start tag)와 종료태그(end tag), 그리고 그 사이에 위치한 content로 구성된다.

 

html 문서는 요소들의 집합으로 이루어진다.

 

* 요소는 중첩될 수 있다. 즉, 요소는 다른 요소를 포함할 수 있다. 이때 부자관계가 성립되며 이러한 부자관계로 정보를 구조화할 수 있다. 

<!DOCTYPE html>
<html>
    <head>
       <meta charset = "utf-8">
        <title>Hello World</title>
    </head>
    <body>
           <h1>Hello World</h1>
    </body>
</html>

앞선 포스팅에서 살펴봤던 기본적인 html 문서의 형태이다. 

 

- 가장 상위에 <html>태그가 있고 그 하위 태그로 <head>,<body>태그가 있다. <head>태그의 하위태그로 <meta>,<title>태그가 있다.

 

이러한 부자관계를 통해 문서가 구조화될 수 있고 이를 시각적으로 파악하기 쉽게 들여쓰기(indent)를 활용한다. 

 

*  빈 요소 (Empty Element)

content를 가질 수 없는 요소를 빈 요소라 한다. 빈 요소는 content가 필요가 없으며 어트리뷰트(attribute)만을 가질 수 있다.

ex) 대표적인 빈 요소 : meta, br, hr, img, input, link

<meta charset = "utf-8">

 

2. 어트리뷰트(Attribute)

- 요소의 성질, 특징을 정의하는 명세이다.

- 요소는 어트리뷰트를 가질 수 있으며 어트리뷰트는 요소에 추가적 정보를 제공한다.

- 시작태그에 위치해야 하며 이름과 값의 쌍을 이룬다. (ex)name = "value")

<div class = "myclass"></div>

- div 요소의 시작태그에서 'class'라는 어트리뷰트가 요소의 css에 대한 정보를 제공해주고있다.

 

Property란?
Property는 html DOM안에서 attribute를 가리키는(대신하는) 표현이다. 
Our DIV node
    nodeName = "DIV"
    className = "my-class"
    style
    ...
위 html문서의 예제를 html DOM으로 표현한 것이다. 여기서는 className이 property가 된다. 즉, html문서 안에서는 class가 attribute를 의미하지만 html DOM에서는 property를 의미한다.

 

* 글로벌 어트리뷰트

- 글로벌 어트리뷰트는 모든 html요소가 공통으로 사용할 수 있는 어트리뷰트를 말한다. 

글로벌 어트리뷰트는 Core attribute, event-handler attribute, xml attribute로 나누어진다.

① Core attrbute - accesskey, class, contentditable, contextmenu, dir, draggable, hidden, id, lang, spellcheck, style, tabindex, title

    → class : 스타일시트에 정의된 class를 요소에 지정한다. 중복지정 가능

    → id : 유일한 식별자를 요소에 지정한다. 중복지정 불가능

    → hidden : css의 hidden과 다르게 의미상으로도 브라우저에 노출되지 않게 된다.

    → lang : 지정된 요소의 언어를 지정한다. 검색엔진의 크롤링 시 웹페이지의 언어를 인식할 수 있게 한다.

    → style: 요소에 인라인 스타일을 지정한다.

    → tabindex : 사용자가 키보드로 페이지를 내비게이션 시 이동 순서를 지정한다.

    → title : 요소에 관한 제목을 지정한다.

② Event-handler attribute - onabort, onblur, oncanplay, oncanplaythrough, onchage 등

③ XML attribute - xml:lang, xml:space, xml:base

 

3. 주석

주석(comment)는 주로 개발자에게 코드를 설명하기 위해 사용되며 브라우저는 주석을 화면에 표시하지 않는다.

<!-- 이거는 이런 코드랍니다~! -->
<h1>안녕하세요</h1>