HTML (Hyper Text Markup Language)

1. HTML ์ด๋ž€?

์›น ํŽ˜์ด์ง€์˜ ๊ตฌ์กฐ๋ฅผ ์งœ๋Š” ๋งˆํฌ์—… ์–ธ์–ด

๋งˆํฌ์—… ์–ธ์–ด๋ž€?

  • ํƒœ๊ทธ๋Š” ์›๋ž˜ ํ…์ŠคํŠธ์™€๋Š” ๋ณ„๊ฐœ๋กœ ์›๊ณ ์˜ ๊ต์ •๋ถ€ํ˜ธ๋‚˜ ์ฃผ์„์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด์—ˆ์œผ๋‚˜, ์šฉ๋„๊ฐ€ ์ ์ฐจ ํ™•์žฅ๋˜์–ด ๋ฌธ์„œ์˜ ๊ตฌ์กฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ์—ญํ• ์„ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํƒœ๊ทธ ๋ฐฉ๋ฒ•์˜ ์ฒด๊ณ„๋ฅผ ๋งˆํฌ์—… ์–ธ์–ด๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ์ˆ ํ•˜๋Š” ์ •๋„๋กœ๋งŒ ์‚ฌ์šฉ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์™€ ๊ฐ™์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€๋Š” ๊ตฌ๋ณ„๋œ๋‹ค. ์ฐธ๊ณ : ์œ„ํ‚คํ”ผ๋””์•„

  • ํƒœ๊ทธ๋Š” ์›๋ž˜ ํ…์ŠคํŠธ์™€๋Š” ๋ณ„๊ฐœ๋กœ ์›๊ณ ์˜ ๊ต์ •๋ถ€ํ˜ธ์™€ ์ฃผ์„์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด์—ˆ์œผ๋‚˜, ์šฉ๋„๊ฐ€ ์ ์ฐจ ํ™•์žฅ๋˜์–ด ๋ฌธ์„œ์˜ ๊ตฌ์กฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ์—ญํ• ์„ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํƒœ๊ทธ ๋ฐฉ๋ฒ•์˜ ์ฒด๊ณ„๋ฅผ ๋งˆํฌ์—… ์–ธ์–ด๋ผ๊ณ  ํ•œ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ์ˆ ํ•˜๋Š” ์ •๋„๋กœ๋งŒ ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์™€ ๊ฐ™์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€๋Š” ๊ตฌ๋ณ„๋œ๋‹ค.

  • ์ง‘์„ ์ง“๊ธฐ ์œ„ํ•ด ๋„๋ฉด์„ ๊ทธ๋ฆฐ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

  • ์˜ˆ๋ฅผ ๋“ค์–ด, ์›น์‚ฌ์ดํŠธ ์ƒ์˜ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ ๋‹ค๊ณ  ํ•ด๋ณด์ž.

  • ๊ทธ๋ ‡๋‹ค๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ์•„์ด๋””์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋Š” ์ž…๋ ฅํผ์ด ํ•„์š”ํ•˜๊ฒ ๋‹ค. ๋˜ํ•œ ๋กœ๊ทธ์ธ์œผ๋กœ ์ด์–ด์ง€๋Š” ๋ฒ„ํŠผ๊ณผ, ๋กœ๊ทธ์ธ ์œ ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฌผ์–ด๋ณด๋Š” ์ฒดํฌ๋ฐ•์Šค๋„ ๋„ฃ์–ด๋ณด์ž. HTML ์ฝ”๋“œ๋กœ ์ž‘์„ฑํ•˜๋ฉด ์œ„์™€ ๊ฐ™์€ ํ™”๋ฉด์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

2. HTML ๊ธฐ๋ณธ ๊ตฌ์กฐ

<!DOCTYPE html> 
์ด ๋ฌธ์„œ๊ฐ€ HTML ๋ฌธ์„œ์ž„์„ ๋ช…์‹œ

<html>
html ์‹œ์ž‘ ํƒœ๊ทธ๋กœ, ๋ฌธ์„œ ์ „์ฒด์˜ ํ‹€์„ ๊ตฌ์„ฑ

<head>
๋ฌธ์„œ์˜ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ์–ธ

<title>
๋ฌธ์„œ์˜ ์ œ๋ชฉ, ๋ธŒ๋ผ์šฐ์ € ํƒญ์— ๋ณด์—ฌ์ง

<body>
๋ฌธ์„œ์˜ ๋‚ด์šฉ์„ ๋‹ด๋Š” ๊ณณ

<div>
content division์„ ์˜๋ฏธ, ์ค„๋ฐ”๊ฟˆ ๋จ

<span>
์ค„๋ฐ”๊ฟˆ ์—†๋Š” content ์ปจํ…Œ์ด๋„ˆ

<a>
๋งํฌ ์‚ฝ์ž… ์‹œ ์‚ฌ์šฉ

<img>
์ด๋ฏธ์ง€ ์‚ฝ์ž… ์‹œ ์‚ฌ์šฉ

<input>
ํ…์ŠคํŠธ, ๋ผ๋””์˜ค ๋ฒ„ํŠผ, ์ฒดํฌ๋ฒ„ํŠผ ์‚ฝ์ž…

<button>
๋ฒ„ํŠผ ์‚ฝ์ž…

3. HTML ๊ธฐ๋ณธ ๋ฌธ๋ฒ•

์ด๋ฏธ์ง€ ์‚ฝ์ž…

<html>
  <head></head>
  <body>
    <div>div ํƒœ๊ทธ๋Š” ํ•œ ์ค„์„ ์ฐจ์ง€ํ•ฉ๋‹ˆ๋‹ค</div>
    <div>division 2</div>
    <span>span ํƒœ๊ทธ๋Š” ์ปจํ…์ธ  ํฌ๊ธฐ๋งŒํผ ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•ฉ๋‹ˆ๋‹ค</span>
    <span>span 2</span>
    <span>span 3</span>
    <div>division 3</div>
    <img src="https://obj-kr.the1.wiki/data/322eebacb4eca78026616d703becbd9828ecb9b4ecb9b4ec98a4ed9484eba08ceca68820eab3b5ec8b9dec82aceca784292e706e67.png">
    <a href="http://naver.com" target="_blank">๋„ค์ด๋ฒ„ ๋ฐ”๋กœ๊ฐ€๊ธฐ</a>
  </body>
</html>

ul, li ๋ฆฌ์ŠคํŠธ

  • ul: unordered list

  • ol: ordered list

<html>
  <head></head>
  <body>
    <ol>
      <li>item 1</li>
      <li>item 2</li>
        <ul>
          <li>item 3</li>
        </ul>
    </ol>
  </body>
</html>

input, textarea

<html>
<head></head>
<body>
  <div>
    ID <input type="text" placeholder="type here">
  </div>
  <div>
    password <input type="password">
  </div>
  <div>
    <input type="checkbox"> ๋‹ค์Œ ์ ‘์† ์‹œ ์•„์ด๋”” ๊ธฐ์–ตํ•˜๊ธฐ
  </div>

  <input type="radio" name="option1"> ์˜ต์…˜A
  <input type="radio" name="option1"> ์˜ต์…˜B
  <div>
    <textarea></textarea>
  </div>
  <div>
    <button>๋กœ๊ทธ์ธ</button>
  </div>
</body>
</html>

4. ์‹œ๋งจํ‹ฑ ์š”์†Œ

์˜๋ฏธ

  • sementic: ์˜๋ฏธ๊ฐ€ ์žˆ๋Š”

  • ex. top level heading์„ ํ‘œํ˜„ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์š”์†Œ์ธ <h1> ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ, ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํฐ ํฐํŠธ ์‚ฌ์ด์ฆˆ๋ฅผ ์ ์šฉํ•  ๋ฟ ์•„๋‹ˆ๋ผ, ์œ„์•„๋ž˜๋กœ ๊ฐ„๊ฒฉ์„ ์ฃผ์–ด ์ œ๋ชฉ์ฒ˜๋Ÿผ ๋ณด์ด๋„๋ก ํ•จ

์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

  • ๊ฒ€์ƒ‰์—”์ง„์ด ์‹œ๋งจํ‹ฑ ์š”์†Œ๋ฅผ ๋” ์ข‹์•„ํ•˜๊ธฐ ๋•Œ๋ฌธ โ†’ ์‹œ๋งจํ‹ฑ ์š”์†Œ์— ๋‹ด๊ธด ์˜๋ฏธ์— ๋”ฐ๋ผ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ์ƒ์œ„ ๋…ธ์ถœ์ด ๊ฒฐ์ •๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž„

  • ์—ฌ๋Ÿฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•จ๊ป˜ ์ž‘์—…ํ•  ๋•Œ <div> ์š”์†Œ๋ฅผ ํƒ์ƒ‰ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์˜๋ฏธ์žˆ๋Š” ์ฝ”๋“œ ๋ธ”๋ก์„ ์ฐพ๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ๋” ํŽธ๋ฆฌํ•˜๊ณ , ์š”์†Œ ์•ˆ์— ์ฑ„์›Œ์งˆ ๋ฐ์ดํ„ฐ ์œ ํ˜• ์˜ˆ์ธก๋„ ์‰ฌ์›€

  • ๋”ฐ๋ผ์„œ, HTML ์š”์†Œ ์ž‘์„ฑ ์‹œ, ์ž‘์„ฑํ•  ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์žฅ ์ž˜ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋Š” ์š”์†Œ๋Š” ๋ฌด์—‡์ผ์ง€ ๊ณ ๋ ค ํ•„์š”

์ฃผ์š” ์‚ฌ์šฉ๋˜๋Š” ์š”์†Œ๋“ค

<article>
๋…๋ฆฝ์ ์ด๊ณ  ์ž์ฒด ํฌํ•จ๋œ ์ปจํ…์ธ  ์ง€์ •

<aside>
๋ณธ๋ฌธ์˜ ์ฃผ์š” ๋ถ€๋ถ„์„ ํ‘œ์‹œํ•˜๊ณ  ๋‚จ์€ ๋ถ€๋ถ„์„ ์„ค๋ช…, ํŠน๋ณ„ํ•œ ์ผ์ด ์•„๋‹Œ ์ด์ƒ ์‚ฌ์ด๋“œ๋ฐ”๋‚˜ ๊ด‘๊ณ ์ฐฝ ๋“ฑ ์ค‘์š”ํ•˜์ง€ ์•Š์€ ๋ถ€๋ถ„์— ์‚ฌ์šฉ

<footer> 
์ผ๋ฐ˜์ ์œผ๋กœ ํŽ˜์ด์ง€๋‚˜ ํ•ด๋‹น ํŒŒํŠธ์˜ ๊ฐ€์žฅ ์•„๋žซ๋ถ€๋ถ„์— ์œ„์น˜. ์‚ฌ์ดํŠธ์˜ ๋ผ์ด์„ ์Šค, ์ฃผ์†Œ, ์—ฐ๋ฝ์ฒ˜๋ฅผ ๋„ฃ์„ ๋•Œ ์‚ฌ์šฉ

<header>
ํŽ˜์ด์ง€๋‚˜ ์„น์…˜์˜ ๊ฐ€์žฅ ์œ—๋ถ€๋ถ„, ์‚ฌ์ดํŠธ์˜ ์ œ๋ชฉ์ด ํฌํ•จ๋˜๊ฑฐ๋‚˜ ์ƒ๋‹จ๋ฐ”, ๊ฒ€์ƒ‰์ฐฝ์ด ๋“ค์–ด๊ฐˆ ์ˆ˜๋„

<nav>
์ผ๋ฐ˜์ ์œผ๋กœ ์ƒ๋‹จ๋ฐ” ๋“ฑ ์‚ฌ์ดํŠธ๋ฅผ ์•ˆ๋‚ดํ•˜๋Š” ์š”์†Œ์ด๋ฉฐ, ๋ณดํ†ต์€ ์•ˆ์— <ul>์„ ๋„ฃ์–ด ๋ชฉ๋ก ํ˜•ํƒœ๋กœ ์‚ฌ์šฉ

<main>
๋ฌธ์„œ์˜ ์ฃผ๋œ ์ปจํ…์ธ  ํ‘œ์‹œ

5. ๊ฐ ์˜์—ญ์— ์ด๋ฆ„ ๋ถ™์—ฌ์ฃผ๊ธฐ

id

๊ณ ์œ ํ•œ(unique) ์ด๋ฆ„์„ ๋ถ™์ผ ๋•Œ. ํ•œ๋ฒˆ๋งŒ, ์‚ฌ์‹ค ๋“œ๋ฌผ๊ฒŒ ์‚ฌ์šฉ๋จ

<!--HTML-->
<div id=โ€wrting-selectionโ€>
/* css */
div#writing-section

class

  • ๋ฐ˜๋ณต๋˜๋Š” ์˜์—ญ์„ ์œ ํ˜•๋ณ„๋กœ ๋ถ„๋ฅ˜ํ•  ๋•Œ. ์—ฌ๋Ÿฌ ๊ฐœ.

  • ๋ฐ˜๋ณต์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์š”์†Œ๋ฅผ ์œ ํ˜•๋ณ„๋กœ ๋ถ„๋ฅ˜ํ•  ๋•Œ ์‚ฌ์šฉํ•จ. ๋”ฐ๋ผ์„œ ๊ฐ™์€ class๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์š”์†Œ๋Š” ๊ฐ™์€ ์œ ํ˜•์œผ๋กœ ๋ถ„๋ฅ˜๋œ ์š”์†Œ๋ผ๋Š” ๊ฒƒ์„ ์œ ์ถ”ํ•  ์ˆ˜ ์žˆ์Œ

  • ๋‹จ ํ•œ ๋ฒˆ๋งŒ ์‚ฌ์šฉ๋˜์–ด์•ผ ํ•˜๋Š” ์ด๋ฆ„์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋Š” class๊ฐ€ ์•„๋‹Œ id๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•จ!

<!--HTML-->
<li class=โ€commentโ€>
/* css */
li.comment

Last updated