๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

HTML ์‹œ์ž‘ํ•˜๊ธฐ

HTML ์‹œ์ž‘ํ•˜๊ธฐ

โ—๏ธ ํ•ด๋‹น ๊ธ€์€ HTML ์‹œ์ž‘ํ•˜๊ธฐ - MDN ๋ฌธ์„œ๋ฅผ ๋ณด๋ฉด์„œ ๊ณต๋ถ€ํ•œ ๊ธฐ๋ก์ž…๋‹ˆ๋‹ค.


HTML์ด๋ž€?#

HTML(Hypertext Markup Language)๋Š” ๋ฌธ์„œ์˜ ํŠน์ • ํ…์ŠคํŠธ ์˜์—ญ์ด ๋ฌธ๋‹จ์ธ์ง€ ๋ชฉ๋ก์ธ์ง€ ํ‘œ์˜ ์ผ๋ถ€์ธ์ง€ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋„๋ก ์˜๋ฏธ๋ฅผ ๋ถ€์—ฌํ•˜๊ฑฐ๋‚˜ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๊ตฌ์กฐํ™”ํ•˜๋Š” ๋งˆํฌ์—… ์–ธ์–ด์ด๋‹ค. (ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด X)


HTML ์š”์†Œ(Element)#

HTML์€ ์š”์†Œ(elements)๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”๋ฐ ์š”์†Œ์˜ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

2020-01-20-html-์‹œ์ž‘ํ•˜๊ธฐ-image-0

  1. ์—ฌ๋Š” ํƒœ๊ทธ(Opening tag) :ย ์š”์†Œ์˜ ์‹œ์ž‘์„ ์•Œ๋ฆฌ๋Š” ํƒœ๊ทธ, ๊บฝ์‡  < , > ์™€ ํƒœ๊ทธ ์ด๋ฆ„์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

  2. ๋‹ซ๋Š” ํƒœ๊ทธ(Closing tag) :ย ์š”์†Œ์˜ ๋์„ ์•Œ๋ฆฌ๋Š” ํƒœ๊ทธ, ์—ฌ๋Š” ํƒœ๊ทธ์™€ ์ด๋ฆ„์ด ๊ฐ™๊ณ ์•ž์— ์Šฌ๋ž˜์‹œ / ๊ฐ€ ๋ถ™๋Š”๋‹ค. ํƒœ๊ทธ ์ค‘์—๋Š” ๋นˆ ํƒœ๊ทธ(Empty Tags)๋ผ๊ณ  ํ•˜์—ฌ ๋‹ซ๋Š” ํƒœ๊ทธ๋ฅผ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ๋Š” ์š”์†Œ๊ฐ€ ์žˆ๋‹ค.

  3. ๋‚ด์šฉ(Content):ย ์š”์†Œ์˜ ๋‚ด์šฉ.

  4. ์š”์†Œ(Element):ย ์—ฌ๋Š” ํƒœ๊ทธ, ๋‹ซ๋Š” ํƒœ๊ทธ, ๋‚ด์šฉ์„ ํ†ตํ‹€์–ด ๋ถ€๋ฅด๋Š” ์šฉ์–ด.

HTML ์š”์†Œ๋Š” ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๋Š”๋‹ค. <title>, <Title>, <TITLE> ๋ชจ๋‘๊ฐ€๋Šฅ. ํ•˜์ง€๋งŒ ๋Œ€๊ฐœ ์†Œ๋ฌธ์ž๋กœ ์ž‘์„ฑํ•œ๋‹ค.


์ค‘์ฒฉ ์š”์†Œ(Nesting elements)#

์š”์†Œ ์•ˆ์— ๋‹ค๋ฅธ ์š”์†Œ๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. ๋งˆ์ง€๋ง‰์— ์—ด๋ฆฐ ํƒœ๊ทธ๊ฐ€ ๋จผ์ € ๋‹ซํ˜€์•ผ ํ•œ๋‹ค.

<!--์ค‘์ฒฉ ์š”์†Œ์˜ ์˜ณ์€ ์˜ˆ--><p>My cat is <strong>very</strong> grumpy.</p>
<!--์ค‘์ฒฉ ์š”์†Œ์˜ ์ž˜๋ชป๋œ ์˜ˆ--><p>My cat is <strong>very grumpy.</p></strong>

๋ธ”๋Ÿญ ๋ ˆ๋ฒจ(Block level) ์š”์†Œ vs ์ธ๋ผ์ธ(Inline) ์š”์†Œ#

HTML์˜ ์š”์†Œ๋Š” ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€ ์ข…๋ฅ˜๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.

  • ๋ธ”๋Ÿญ ๋ ˆ๋ฒจ ์š”์†Œ(Block-level elements)๋Š” ์›นํŽ˜์ด์ง€ ์ƒ์— ๋ธ”๋ก์„ ๋งŒ๋“œ๋Š” ์š”์†Œ์ด๋‹ค. ๋ธ”๋ก ๋ ˆ๋ฒจ ์š”์†Œ๋Š” ์•ž๋’ค ์š”์†Œ ์‚ฌ์ด์— ์ƒˆ๋กœ์šด ์ค„์„ ๋งŒ๋“ค๊ณ  ๋‚˜ํƒ€๋‚œ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ํŽ˜์ด์ง€์˜ ๊ตฌ์กฐ์  ์š”์†Œ๋ฅผ ๋‚˜ํƒ€๋‚ผ ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค. ๋ธ”๋ก ๋ ˆ๋ฒจ ์š”์†Œ๋Š” ์ธ๋ผ์ธ ์š”์†Œ์— ์ค‘์ฒฉ๋ ์ˆ˜์—†๋‹ค. ex) ๋‹จ๋ฝ, ๋ชฉ๋ก, ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฉ”๋‰ด, ๊ผฌ๋ฆฌ๋ง

  • ์ธ๋ผ์ธ ์š”์†Œ(Inline elements)๋Š” ํ•ญ์ƒ ๋ธ”๋ก ๋ ˆ๋ฒจ ์š”์†Œ ๋‚ด์— ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. ๋ฌธ์žฅ, ๋‹จ์–ด ๊ฐ™์€ ์ž‘์€ ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ ์ ์šฉ๋œ๋‹ค. ex) ํ•˜์ดํผ๋งํฌ, ํ…์ŠคํŠธ ๊ฐ•์กฐ, ์ดํƒค๋ฆญ์ฒด

HTML5์—์„œ ์š”์†Œ ๋ถ„๋ฅ˜๋ฅผ ์žฌ์ •์˜ ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ "๋ธ”๋Ÿญ"๊ณผ "์ธ๋ผ์ธ"์˜ ๋ถ„๋ฅ˜๋ฅผ ๊ณ ์ˆ˜ํ•œ๋‹ค. Element content categories


๋นˆ ์š”์†Œ(Empty elements)#

์—ฌ๋Š” ํƒœ๊ทธ์™€ ๋‹ซ๋Š” ํƒœ๊ทธ ํŒจํ„ด์ด ์•„๋‹Œ ๋‹จ์ผ ํƒœ๊ทธ(Single tag)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์š”์†Œ. Void ์š”์†Œ๋กœ ๋ถˆ๋ฆฌ๊ธฐ๋„ ํ•œ๋‹ค.

HTML5์—์„œ๋Š” <tag> ์ฒ˜๋Ÿผ / ๋ฅผ ์ƒ๋žตํ•  ์ˆ˜๋„ ์žˆ๊ณ , <tag/> ์ฒ˜๋Ÿผ / ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค. XHTML ๋ฒ„์ „์ด๋‚˜ ๋ฆฐํŠธ(Lint) ํ™˜๊ฒฝ ํ˜น์€ ํ”„๋ ˆ์ž„์›Œํฌ ์„ธํŒ…์— ๋”ฐ๋ผ / ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํ•„์ˆ˜๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.

๋‘˜ ๋‹ค ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ํ•œ ๋ฌธ์„œ์—์„œ ํ˜ผ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

<img    src="[https://raw.githubusercontent.com/mdn/beginner-html-site/gh-pages/images/firefox-icon.png](https://raw.githubusercontent.com/mdn/beginner-html-site/gh-pages/images/firefox-icon.png)"/>

HTML ์†์„ฑ(Attributes)#

์š”์†Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์†์„ฑ(Attribute)๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

2020-01-20-html-์‹œ์ž‘ํ•˜๊ธฐ-image-1

์†์„ฑ์€ ์š”์†Œ์— ์‹ค์ œ๋ก  ๋‚˜ํƒ€๋‚ด๊ณ  ์‹ถ์ง€ ์•Š์ง€๋งŒ, ์ถ”๊ฐ€์ ์ธ ๋‚ด์šฉ์„ ๋‹ด๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค .

์†์„ฑ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•œ๋‹ค.

  1. ์š”์†Œ ์ด๋ฆ„๊ณผ ์†์„ฑ, ์†์„ฑ๊ณผ ์†์„ฑ ์‚ฌ์ด์— ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋œ๋‹ค.

  2. ์†์„ฑ ์ด๋ฆ„(Name) ๋‹ค์Œ์—” ๋“ฑํ˜ธ(=)๊ฐ€ ๋ถ™๋Š”๋‹ค.

  3. ์†์„ฑ ๊ฐ’(Value)์€ ์—ด๊ณ  ๋‹ซ๋Š” ๋”ฐ์˜ดํ‘œ๋กœ ๊ฐ์‹ธ์•ผ ํ•œ๋‹ค.

์š”์†Œ ๋งˆ๋‹ค ์—ฌ๋Ÿฌ ์†์„ฑ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ, ์š”์†Œ ๋งˆ๋‹ค ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์†์„ฑ๋“ค์ด ์žˆ๋‹ค.


์ฐธ, ๊ฑฐ์ง“ ์†์„ฑ(Boolean attributes)#

๋ถˆ ์†์„ฑ์€ ์ฐธ, ๊ฑฐ์ง“๋งŒ์„ ๊ฐ€์ง€๋Š” ์†์„ฑ์œผ๋กœ ๊ฐ’(Value)์ด ์—†๊ฑฐ๋‚˜, ์†์„ฑ์˜ ์ด๋ฆ„๊ณผ ๋™์ผํ•œํ•˜๋‚˜์˜ ๊ฐ’๋งŒ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

<input type="text" disable="disabled" />

๋˜๋Š”

<input type="text" disable />

์†์„ฑ ๊ฐ’(Value)์˜ ๋”ฐ์˜ดํ‘œ ์ƒ๋žต#

์†์„ฑ ๊ฐ’์˜ ๋”ฐ์˜ดํ‘œ๋Š” ์ƒ๋žต์ด ๊ฐ€๋Šฅ ํ•˜์ง€๋งŒ, ์ด๊ฒƒ์€ ๋งˆํฌ์—… ํ˜•์‹์„ ๋ง์ณ๋ฒ„๋ฆด ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœํ•ญ์ƒ ์†์„ฑ ๊ฐ’์— ๋”ฐ์˜ดํ‘œ๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ์ด ์˜ค๋ฅ˜๋ฅผ ํ”ผํ•˜๊ณ  ๊ฐ€๋…์„ฑ์„ ๋†’์ด๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

<a href=https://www.mozilla.org/>favourite website</a>

์ด๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ,

<a href=https://www.mozilla.org/ title=The Mozilla homepage>favorite website</a>

์ด๊ฒƒ์€ href, title, Mozilla, homepage์˜ ์†์„ฑ์„ ๊ฐ€์ง€๋Š” ๊ฒƒ์œผ๋กœ ํ•ด์„ํ•œ๋‹ค.


์ž‘์€ ๋”ฐ์˜ดํ‘œ์™€ ํฐ ๋”ฐ์˜ดํ‘œ#

์†์„ฑ ๊ฐ’์˜ ๋”ฐ์˜ดํ‘œ๋Š” ์ž‘์€ ๋”ฐ์˜ดํ‘œ์™€ ํฐ ๋”ฐ์˜ดํ‘œ๊ฐ€ ๋ชจ๋‘ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด๊ฒƒ์€ ์Šคํƒ€์ผ์˜ ๋ฌธ์ œ๋กœ ์ข‹์•„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. ํ•˜์ง€๋งŒ ์—ญ์‹œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ ์€ ๋‘ ๊ฐœ๋ฅผ ์„ž์–ด์„œ ์“ฐ๋ฉด ์•ˆ๋œ๋‹ค.

์†์„ฑ ๊ฐ’์—์„œ ํ•œ ์ข…๋ฅ˜์˜ ๋”ฐ์˜ดํ‘œ๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค๋ฉด ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ๋”ฐ์˜ดํ‘œ๋กœ ์†์„ฑ ๊ฐ’์„ ๋‘˜๋Ÿฌ์‹ธ์„œ ์˜ค๋ฅ˜๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

<a href="http://www.example.com" title="Isn't this fun?"    >A link to my example.</a>

ํ•˜์ง€๋งŒ ๋”ฐ์˜ดํ‘œ ์•ˆ์— ๊ฐ™์€ ์ข…๋ฅ˜์˜ ๋”ฐ์˜ดํ‘œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋”ฐ์˜ดํ‘œ๋ฅผ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด HTML entities๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.


HTML ๋ฌธ์„œ์˜ ๊ตฌ์กฐ#

๋‹ค์Œ์€ HTML5 ๋ฌธ์„œ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ์ด๋‹ค.

<!DOCTYPE html><html>    <head>        <meta charset="UTF-8" />        <title>My test page</title>    </head>    <body>        <p>This is my page</p>    </body></html>

  1. <!DOCTYPE html> : ์›น ๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ HTML ๋ฒ„์ „์˜ ํ•ด์„ ๋ฐฉ์‹์„ ์•Œ๋ ค์ฃผ๋Š” ์—ญํ• ์„ํ•œ๋‹ค.

  2. <html></html> : <html> ์š”์†Œ. ์ด ์š”์†Œ๋Š” ์ „์ฒด ํŽ˜์ด์ง€์˜ ์ฝ˜ํ…์ธ ๋ฅผ ํฌํ•จํ•˜๋ฉฐ, ๊ธฐ๋ณธ ์š”์†Œ๋กœ ์•Œ๋ ค์ ธ ์žˆ๋‹ค.

  3. <head></head> : <head> ์š”์†Œ. ์ด ์š”์†Œ๋Š” ํŽ˜์ด์ง€ ์ด์šฉ์ž์—๊ฒŒ ๋ณด์ด์ง€ ์•Š์ง€๋งŒ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ์— ๋…ธ์ถœ๋  ํ‚ค์›Œ๋“œ, ํ™ˆํŽ˜์ด์ง€ ์„ค๋ช…, CSS ์Šคํƒ€์ผ, Character Set declaration ๋“ฑ HTML ํŽ˜์ด์ง€์˜ ๋ชจ๋“  ๋‚ด์šฉ์„ ๋‹ด๊ณ  ์žˆ๋‹ค.

  4. <meta charset="utf-8"> : ์ด ์š”์†Œ๋Š” ๋ฌธ์„œ๊ฐ€ ์‚ฌ์šฉํ•ด์•ผ ํ•  ๋ฌธ์ž ์ง‘ํ•ฉ์„ ์„ค์ •ํ•œ๋‹ค. utf-8 ๋กœ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ .

  5. <title></title> : <title> ์š”์†Œ. ์ด ์š”์†Œ๋Š” ํŽ˜์ด์ง€์˜ ์ œ๋ชฉ์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์œผ๋กœ๋ธŒ๋ผ์šฐ์ €์˜ ํƒญ์— ์ด ์ œ๋ชฉ์ด ํ‘œ์‹œ๋œ๋‹ค.

  6. <body></body> : <body> ์š”์†Œ. ์ด ์š”์†Œ๋Š” ํŽ˜์ด์ง€ ์ด์šฉ์ž๋“ค์—๊ฒŒ ๋ณด์—ฌ์ง€๋Š” ๋ชจ๋“ ๊ฒƒ์ด ๋‹ด๊ธด๋‹ค.


์ด๋ฏธ์ง€#

<img> ์š”์†Œ๋ฅผ ์‚ดํŽด๋ณธ๋‹ค.

<img src="images/firefox-icon.png" alt="My test image" />

์—ฌ๊ธฐ์„œ src, alt ์†์„ฑ์ด ์‚ฌ์šฉ๋˜์—ˆ๋‹ค.

  • src (source) : ์ด๋ฏธ์ง€ ํŒŒ์ผ์˜ ๊ฒฝ๋กœ. ์ ˆ๋Œ€๊ฒฝ๋กœ vs ์ƒ๋Œ€๊ฒฝ๋กœ

  • alt (alternative) : ์ด๋ฏธ์ง€๋ฅผ ๋ณผ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๋ฅผ ์œ„ํ•œ ์„ค๋ช…๋ฌธ(descriptive text).

    • ์‹œ๊ฐ ์žฅ์• ์ž์ธ ๊ฒฝ์šฐ, ๋Œ€์ฒด ํƒ์ŠคํŠธ๋ฅผ ์ฝ์–ด์ฃผ๋Š” ์Šคํฌ๋ฆฐ ๋ฆฌ๋”๋ผ๋Š” ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

    • ์ด๋ฏธ์ง€๋ฅผ ํ‘œ์‹œํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ. ex) ์ด๋ฏธ์ง€ ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๊ฐ€ ์ž˜๋ชป๋œ ๊ฒฝ์šฐ

    • ์›น ์ ‘๊ทผ์„ฑ์˜ ์ธก๋ฉด์—์„œ ์ค‘์š”ํ•œ ์†์„ฑ.


๋ฌธ์ž#

์ œ๋ชฉ#

<h1> - <h6> ๊นŒ์ง€์˜ ์š”์†Œ(header)๋ฅผ ์‚ฌ์šฉํ•ด 6๋‹จ๊ณ„์˜ ์ œ๋ชฉ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

<h1>์€ ๋ฌธ์„œ์—์„œ ์ œ์ผ ์ค‘์š”ํ•œ ์ œ๋ชฉ(ํ—ค๋“œ๋ผ์ธ)์— ํ•œ ๋ฒˆ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.


๋ฌธ๋‹จ#

<p> ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•ด ๋ฌธ์ž์˜ ๋ฌธ๋‹จ์„ ํ‘œํ˜„ํ•œ๋‹ค.

<p>This is a single paragraph.</p>

๋ชฉ๋ก#

๋ชฉ๋ก์˜ ๊ฐ ํ•ญ๋ชฉ์€ <li> ์š”์†Œ(list) ์•ˆ์— ๋†“์—ฌ์•ผ ํ•œ๋‹ค.

  • ์ˆœ์„œ ์—†๋Š” ๋ชฉ๋ก : <ul> ์š”์†Œ(unordered list).

  • ์ˆœ์„œ ์žˆ๋Š” ๋ชฉ๋ก : <ol> ์š”์†Œ(ordered list).

<p>At Mozilla, weโ€™re a global community of</p>
<ul>    <li>technologists</li>    <li>thinkers</li>    <li>builders</li></ul>
<p>working together ...</p>

์—ฐ๊ฒฐ#

<a> ์š”์†Œ(anchor)๋ฅผ ์‚ฌ์šฉํ•ด ๋งํฌ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

<a href="https://www.mozilla.org/en-US/about/manifesto/">Mozilla Manifesto</a>

href : hypertext reference


Reference#

HTML ์‹œ์ž‘ํ•˜๊ธฐ