๐ŸŽ ๋“ค์–ด๊ฐ€๊ธฐ์— ์•ž์„œ

์ด ๊ธ€์€ ๋ชจ๋˜ ์›น์„ ์œ„ํ•œ HTML5+CSS3 ๋ฐ”์ด๋ธ”์„ ๊ณต๋ถ€ํ•˜๋ฉฐ ๊ธฐ์–ตํ•ด๋‘˜ ๋‚ด์šฉ๋“ค์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ธฐ๋กํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์ฑ…์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์‚ฌํ•ญ์€ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”. ๐Ÿ‘

๐Ÿ“– 1. HTML5 ๊ฐœ์š”

์›น์˜ ์—ญ์‚ฌ

์›”๋“œ ์™€์ด๋“œ ์›น(World Wide Web)์€ ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋œ ์ปดํ“จํ„ฐ๋ฅผ ํ†ตํ•ด ์‚ฌ๋žŒ๋“ค์ด ์ •๋ณด๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด ๊ณต๊ฐ„์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
์ธํ„ฐ๋„ท์€ ์ „ ์„ธ๊ณ„๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๊ตญ์ œ ์ •๋ณด ํ†ต์‹ ๋ง์ด๊ณ  ์›น์€ ๊ทธ ์œ„์—์„œ ์ž‘๋™ํ•˜๋Š” ์„œ๋น„์Šค๋กœ ์„œ๋กœ ๊ตฌ๋ถ„๋˜๋Š” ๊ฐœ๋…์ž…๋‹ˆ๋‹ค.

ํ”Œ๋Ÿฌ๊ทธ์ธ

์›น ๋ธŒ๋ผ์šฐ์ €์˜ ๊ฒฝ์Ÿ์œผ๋กœ ์›น์€ ์—„์ฒญ๋‚œ ์†๋„๋กœ ๋ฐœ์ „ํ–ˆ์Šต๋‹ˆ๋‹ค. ์›น ํ‘œ์ค€์„ ์ง€์ •ํ•˜๋Š” W3C๊ฐ€ ๊ทธ ์†๋„๋ฅผ ๋”ฐ๋ผ๊ฐ€์ง€ ๋ชปํ–ˆ์„ ์ •๋„์˜€์Šต๋‹ˆ๋‹ค.
์ด์— ๋ถˆ๋งŒ์„ ๋Š๋‚€ ๊ธฐ์—…๋“ค์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ์›น ๋ธŒ๋ผ์šฐ์ €์™€ ์—ฐ๋™๋˜๋Š” ํŠน์ • ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉ์ž PC์— ์ถ”๊ฐ€๋กœ ์„ค์น˜ํ•ด ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

์›น 2.0์˜ ์‹œ๋Œ€

์ธํ„ฐ๋„ท์€ ์ ์  ์‚ฌ์šฉ์ž๋ผ๋ฆฌ ๋ญ‰์ณ ์ƒˆ๋กœ์šด ์ฝ˜ํ…์ธ ๋ฅผ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์œผ๋กœ ๋ฐœ์ „ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๋“ฏ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์™€ ํ•จ๊ป˜ ์ƒˆ๋กœ์šด ์ฝ˜ํ…์ธ ๋ฅผ ์ฐฝ์กฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ ์‹œ๋Œ€๋ฅผ ์›น 2.0 ์‹œ๋Œ€๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.
๋ชจ๋“  ์›น ์‚ฌ์ดํŠธ์— ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ๋“ค์–ด๊ฐ€๋ฉด์„œ ์›น ์‚ฌ์ดํŠธ๋Š” ์ ์  ๋ฌด๊ฑฐ์›Œ์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

HTML5๋ฅผ ๊ณต๋ถ€ํ•ด์•ผํ•˜๋Š” ์ด์œ 

๋””๋ฐ”์ด์Šค์˜ ์šด์˜์ฒด์ œ์— ๋”ฐ๋ผ ๊ฐ๊ฐ์˜ ์šด์˜์ฒด์ œ์— ๋งž๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์šด์˜์ฒด์ œ์— ์ข…์†๋˜์ง€ ์•Š๊ณ  ์›น์—์„œ ๋™์ž‘ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋ผ๋ฉด ๋ชจ๋“  ๋””๋ฐ”์ด์Šค์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ผ๋ ‰ํŠธ๋ก (electron)

๊นƒํ—™์—์„œ ์•„ํ†ฐ(atom) ์—๋””ํ„ฐ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์•„ํ†ฐ ์‰˜์ด๋ผ๋Š” HTML5 ๊ธฐ๋ฐ˜์˜ ๋ฐ์Šคํฌํ†ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ์—”์ง„์„ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค. ์ด ์—”์ง„์ด ์ดํ›„ ์ผ๋ ‰ํŠธ๋ก ์ด ๋ฉ๋‹ˆ๋‹ค.
์ด ์—”์ง„์„ ํ†ตํ•ด ์Šค์นด์ดํ”„, ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค ์ฝ”๋“œ(์˜ค์™•), ์Šฌ๋ž™ ๋“ฑ์ด ๊ฐœ๋ฐœ๋˜๋ฉด์„œ ์œ ๋ช…ํ•ด์กŒ์Šต๋‹ˆ๋‹ค.

๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ(React-Native)

ํŽ˜์ด์Šค๋ถ์—์„œ ๊ฐœ๋ฐœํ•œ ์—”์ง„์œผ๋กœ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์— ํŠนํ™”๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค. ํŽ˜์ด์Šค๋ถ, ์ธ์Šคํƒ€๊ทธ๋žจ, ํ•€ํ„ฐ๋ ˆ์ŠคํŠธ, ์Šค์นด์ดํ”„, ์šฐ๋ฒ„ ๋“ฑ์ด ๋ชจ๋‘ ๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๋‹ค์‹œ ๋งํ•ด, HTML5๋ฅผ ์•Œ๋ฉด ์šด์˜์ฒด์ œ์˜ ์˜ํ–ฅ์—†์ด ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ๐Ÿฅ‡

๐Ÿ“– 2. HTML5 ํƒœ๊ทธ ๊ธฐ๋ณธ

HTML5 ํŽ˜์ด์ง€ ๊ตฌ์กฐ

<!DOCTYPE html>
<html>
  <head>
    <title>Hello Jayden</title>
  </head>
  <body></body>
</html>
  • <!DOCTYPE html>ํƒœ๊ทธ๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ˜„์žฌ ์›น ํŽ˜์ด์ง€๊ฐ€ HTML5 ๋ฌธ์„œ์ž„์„ ์ธ์‹ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค.
  • <html>ํƒœ๊ทธ๋Š” ๋ชจ๋“  HTML ํŽ˜์ด์ง€์˜ ๋ฃจํŠธ ์š”์†Œ๋กœ lang ์†์„ฑ์„ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋•Œ, lang ์†์„ฑ์€ ์‹ค์ œ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋™์ž‘ํ•˜๋Š”๋ฐ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ณ  ๋‹จ์ง€ ๊ฒ€์ƒ‰ ์—”์ง„์ด ์›น ํŽ˜์ด์ง€๋ฅผ ํƒ์ƒ‰ํ•  ๋•Œ ์–ด๋– ํ•œ ์–ธ์–ด๋กœ ๋งŒ๋“ค์–ด์ ธ ์žˆ๋Š”์ง€ ์‰ฝ๊ฒŒ ์ธ์‹ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค.
  • <head>ํƒœ๊ทธ๋Š” body ํƒœ๊ทธ์— ํ•„์š”ํ•œ ์Šคํƒ€์ผ์‹œํŠธ์™€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ œ๊ณตํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
    • head ํƒœ๊ทธ์— ๋“ค์–ด๊ฐ€๋Š” ํƒœ๊ทธ : meta, title, script, link, style, base
      (์ด ์™ธ์˜ ํƒœ๊ทธ๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ž๋™์œผ๋กœ ํ•ด๋‹น ํƒœ๊ทธ๋ฅผ body ํƒœ๊ทธ ๋‚ด๋ถ€๋กœ ์˜ฎ๊น๋‹ˆ๋‹ค.)
  • <body>ํƒœ๊ทธ๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์ด๋Š” ์‹ค์ œ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.

๊ธ€์ž ํƒœ๊ทธ

์•ต์ปค ํƒœ๊ทธ

<a href="#">Jayden</a>
<a href="#smite">Move to smite</a>
<div id="smite">Smite</div>
  • ๋นˆ ๋งํฌ : a ํƒœ๊ทธ๋Š” ๋ณธ๋ž˜ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํ•˜์ดํผ๋งํฌ ๊ธฐ๋Šฅ์„ ์ œ๊ฑฐํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋•Œ, ์›น ํ‘œ์ค€ ์ƒ href ์†์„ฑ์„ ๋ฐ˜๋“œ์‹œ ์ž…๋ ฅํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— #์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  • ํŽ˜์ด์ง€ ๋‚ด๋ถ€ ์ด๋™ : ์œ„์™€ ๊ฐ™์ด aํƒœ๊ทธ์˜ href ์†์„ฑ์— ์ด๋™ํ•˜๊ณ  ์‹ถ์€ ํƒœ๊ทธ์˜ id๋ฅผ #๊ณผ ํ•จ๊ป˜ ์ž…๋ ฅํ•˜๋ฉด ํ•ด๋‹น ์žฅ์†Œ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž…๋ ฅ ์–‘์‹ ํƒœ๊ทธ

<form method="get">
  <!-- ๋˜๋Š” 'post' -->
  <input type="text" />
  <input type="submit" />
</form>
  • <form>์˜ method
    • GET : ์ฃผ์†Œ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•ด์„œ ์ „๋‹ฌ(? ๋’ค์— ์˜ค๋Š” ์ฟผ๋ฆฌํ˜•ํƒœ)ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ํฌ๊ธฐ๊ฐ€ ํ•œ์ •๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค.
    • POST : ๋ณ„๋„๋กœ ํƒ๋ฐฐ๋ฅผ ๋ถ™์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ ์šฉ๋Ÿ‰์— ์ œํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค.(์ฃผ์†Œ์— ๋ฐ์ดํ„ฐ๊ฐ€ ์ž…๋ ฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.)
  • <input>ํƒœ๊ทธ๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์ •๋ณด๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š” ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํƒœ๊ทธ์ž…๋‹ˆ๋‹ค.(ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ž…๋ ฅ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„๋กœ ์ „์†ก)

โญ ๊ณต๊ฐ„ ๋ถ„ํ•  ํƒœ๊ทธ

<div> ํƒœ๊ทธ๋Š” block ํ˜•์‹์œผ๋กœ ๊ณต๊ฐ„์„ ๋ถ„ํ• ํ•˜๊ณ  <span>ํƒœ๊ทธ๋Š” inline ํ˜•์‹์œผ๋กœ ๊ณต๊ฐ„์„ ๋ถ„ํ• ํ•ฉ๋‹ˆ๋‹ค.

  • block ํ˜•์‹ : ๋ธ”๋ก์„ ์Œ“๋“ฏ ๊ณต๊ฐ„์ด ๋ฐฐ์น˜๋˜๋Š” ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹นํ•˜๋Š” ํƒœ๊ทธ๋Š” div, h1~h6, p, ๋ชฉ๋ก ํƒœ๊ทธ, ํ…Œ์ด๋ธ” ํƒœ๊ทธ, form ํƒœ๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
  • inline ํ˜•์‹ : ํ•œ์ค„๋กœ ์ญˆ์šฐ์šฐ์šฑ ๋ฐฐ์น˜๋˜๋Š” ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹นํ•˜๋Š” ํƒœ๊ทธ๋Š” span, a, input, ๊ธ€์ž ํ˜•์‹ ํƒœ๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๐ŸŒŸ HTML5์˜ ์‹œ๋ฉ˜ํ‹ฑ ๊ตฌ์กฐ ํƒœ๊ทธ

์‹œ๋ฉ˜ํ‹ฑ(semantic)์€ ์˜๋ฏธ๋ก ์ ์ด๋ผ๋Š” ์˜๋ฏธ๋กœ ๋ง ๊ทธ๋Œ€๋กœ ๊ธฐ์กด์—๋Š” div๋กœ๋งŒ ๋‚˜ํƒ€๋‚ด๋Š” ํƒœ๊ทธ๋“ค์— ๊ฐ๊ฐ์˜ ์˜๋ฏธ(์—ญํ• )๋ฅผ ๋ถ€์—ฌํ•˜๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

  • header : ํ—ค๋”
  • nav : ๋‚ด๋น„๊ฒŒ์ด์…˜
  • aside : ์‚ฌ์ด๋“œ ๊ณต๊ฐ„
  • section : ์—ฌ๋Ÿฌ ์ค‘์‹ฌ ๋‚ด์šฉ์„ ๊ฐ์‹ธ๋Š” ๊ณต๊ฐ„
  • article : ๊ธ€์ž๊ฐ€ ๋งŽ์ด ๋“ค์–ด๊ฐ€๋Š” ๋ถ€๋ถ„
  • footer : ํ‘ธํ„ฐ

์ด์™ธ์—๋„ ๊ต‰์žฅํžˆ ๋งŽ์€ ์‹œ๋ฉ˜ํ‹ฑ ํƒœ๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„์˜ ํƒœ๊ทธ๋“ค์€ ๋ณธ์งˆ์ ์œผ๋ก  div์™€ ๊ฐ™์€ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ๊ฒ€์ƒ‰ ์—”์ง„์ด๋‚˜ ๊ทธ ์ด์™ธ์˜ ๊ธฐ๊ณ„์ ์ธ ๋™์ž‘๋“ค์ด ๋” ์‰ฝ๊ฒŒ ์›น ํŽ˜์ด์ง€๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.

์‹œ๋ฉ˜ํ‹ฑ ํƒœ๊ทธ ์ „

<!DOCTYPE html>
<html>
  <head>
    <title>HTML Basic</title>
  </head>
  <body>
    <div>
      <h1>HTML5 Header</h1>
    </div>
    <div>
      <ul>
        <li><a href="#">Menu - 1</a></li>
        <li><a href="#">Menu - 2</a></li>
        <li><a href="#">Menu - 3</a></li>
      </ul>
    </div>
    <div>
      <div>
        <h1>Lorem ipsum dolor sit amet</h1>
        <p>์•ˆ๋…•ํ•˜์„ธ์š”, ์ œ์ด๋“ ์ž…๋‹ˆ๋‹ค.</p>
      </div>
      <div>
        <h1>Lorem ipsum dolor sit amet</h1>
        <p>๋งŒ๋‚˜์„œ ๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค.</p>
      </div>
    </div>
    <div>
      <span>์„œ์šธํŠน๋ณ„์‹œ</span>
    </div>
  </body>
</html>

์‹œ๋ฉ˜ํ‹ฑ ํƒœ๊ทธ ํ›„

<!DOCTYPE html>
<html>
  <head>
    <title>HTML Basic</title>
  </head>
  <body>
    <div>
      <h1>HTML5 Header</h1>
    </div>
    <div>
      <ul>
        <li><a href="#">Menu - 1</a></li>
        <li><a href="#">Menu - 2</a></li>
        <li><a href="#">Menu - 3</a></li>
      </ul>
    </div>
    <div>
      <div>
        <h1>Lorem ipsum dolor sit amet</h1>
        <p>์•ˆ๋…•ํ•˜์„ธ์š”, ์ œ์ด๋“ ์ž…๋‹ˆ๋‹ค.</p>
      </div>
      <div>
        <h1>Lorem ipsum dolor sit amet</h1>
        <p>๋งŒ๋‚˜์„œ ๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค.</p>
      </div>
    </div>
    <div>
      <span>์„œ์šธํŠน๋ณ„์‹œ</span>
    </div>
  </body>
</html>