>TIL: HTML ํƒœ๊ทธ

ํƒœํ˜„ยท2021๋…„ 3์›” 10์ผ
0

๐Ÿ™‹๐Ÿปโ€โ™€๏ธ ๋ชฉํ‘œ: ๋ฉด์ ‘์„ ์ค€๋น„ํ•˜๊ธฐ ์ด์ „์— ์•Œ์•˜๋˜ ๋‚ด์šฉ๋“ค์— ๋Œ€ํ•œ ๊ฐœ๋…์„ ์ •๋ฆฌํ•ด ๋ณด๊ณ  MDN ๋ฌธ์„œ์— ๋‚˜์™€์žˆ๋Š” ํƒœ๊ทธ๋“ค์„ ํ•œ๋ฒˆ์”ฉ ๋‹ค ์จ๋ณด์ž.

1. Head ํƒœ๊ทธ


๐Ÿ™Œ์•ž์„œ <head> ์•ˆ์—๋Š” ์›น ํŽ˜์ด์ง€์— ํ‘œ์‹œ๋˜๋Š” <meta> ์ •๋ณด๊ฐ€ ๋“ค์–ด๊ฐ„๋‹ค.

<!-- 1. ํŽ˜์ด์ง€์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๊ธ€์ž์˜ ํฌ๋งท(utf-8 = ๋ชจ๋“  ์–ธ์–ด ์ง€์›) -->
<meta charset="utf-8">

<!-- 2. Internet Explorer์—๊ฒŒ ์ตœ์‹  ๋ Œ๋”๋ง ์—”์ง„์„ ์‚ฌ์šฉํ•˜๋ผ๊ณ  ์ง€์‹œ -->
<meta http-equiv="x-ua-compatible" content="ie=edge">

<!-- 3. ๋ฐ˜์‘ํ˜• ์›น ๋””์ž์ธ ๊ตฌํ˜„์„ ์œ„ํ•ด Viewport๋ฅผ ์„ค์ • -->
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">

<!-- 4. ๋ฌธ์„œ์˜ Title -->
<title>SEO ๊ฐ€์ด๋“œ์— ๋”ฐ๋ผ 55๊ฐœ ์ดํ•˜์˜ ๋ฌธ์ž๋กœ ๋œ ์ œ๋ชฉ์„ ์ž‘์„ฑํ•ฉ์‹œ๋‹ค.</title>

<!-- 5. Meta ์„ค๋ช… -->
<meta name="description" content="ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์„ค๋ช…(์„ค๋ช… ๊ฐ’์€ ๊ณ ์œ ํ•ด์•ผํ•˜๋ฉฐ, 150๊ฐœ ์ดํ•˜์˜ ๋ฌธ์ž๋กœ ์ž‘์„ฑ๐Ÿ™Œ)">

<!-- 6. ์˜ค๋Š˜๋‚ ์—๋Š” .ico ํฌ๋งท๋ณด๋‹ค PNG ํฌ๋งท์˜ ์•„์ด์ฝ˜์„ ๋” ์ถ”์ฒœ(ํฌ๊ธฐ: 32 โœ–๏ธ 32px)
<!-- ํ‘œ์ค€ favicon -->
<link rel="icon" type="image/x-icon" href="https://example.com/favicon.ico">
<!-- ์ถ”์ฒœ favicon ํฌ๋งท -->
<link rel="icon" type="image/png" href="https://example.com/favicon.png">

<!-- 7. Apple๋„ ์‹ ๊ฒฝ์จ์„œ favicon ์„ค์ •ํ•˜๊ธฐ -->
<!-- Apple ํ„ฐ์น˜ ์•„์ด์ฝ˜ (์ตœ์†Œํ•œ 200x200 px) -->
<link rel="apple-touch-icon" href="/custom-icon.png">

2. Body ํƒœ๊ทธ


<body> ์•ˆ์—๋„ ์–ด๋Š์ •๋„ ๊ตฌ์กฐ๋ฅผ ๋‚˜๋ˆ ์„œ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๋ชจ๋“  ์›น์‚ฌ์ดํŠธ๊ฐ€ ์ด๋Ÿฐ ๊ตฌ์กฐ๋ฅผ ๋”ฐ๋ผ์•ผ ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.

  • header
  • navigation bar
  • main content(section > article)
  • footer

3. Box ํƒœ๊ทธ์™€ Item ํƒœ๊ทธ


๐Ÿš€์—ฌ๋Ÿฌ๊ฐ€์ง€ ํƒœ๊ทธ๋Š” ๊ทธ ํ˜•ํƒœ์— ๋”ฐ๋ผ ๋‘ ๊ฐ€์ง€๋กœ ๋ถ„๋ฅ˜๊ฐ€ ๋œ๋‹ค.

  • Box : ๊ตฌ์—ญ์„ ๋‹ด๋‹นํ•˜๋Š” ํƒœ๊ทธ๋ฅผ ๋งํ•œ๋‹ค.
-header
-footer
-nav
-aside
-main
-section
-article(section์•ˆ์—์„œ ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•œ ๊ฒƒ๋“ค์„ ๋ฌถ์–ด ๋†“์€ ๊ฒƒ)
-div
-span
-form
  • Item: ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ง€๋Š” ํƒœ๊ทธ๋ฅผ ๋งํ•œ๋‹ค.
-a
-button
-input
-label
-img
-video
-audio
-map
-canvas
-table

4. Block ๊ณผ Inline


๐Ÿ™†๐Ÿปโ€โ™‚๏ธ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ง€๋Š” Item๋“ค๋„ ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋ˆ ์„œ ์ƒ๊ฐํ•ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

  • Block
-div
  • Inline
-p (๋ฌธ๋‹จ, ๋ฌธ์žฅ+๋ฌธ์žฅ)
-b (bold์ฒด)
-span (๋ฌธ์žฅ)

5. Tag & Element


<ํƒœ๊ทธ> ๋ผ๋Š” ๊ฒƒ์€ <>๊ด„ํ˜ธ๋ฅผ ์ด์šฉํ•ด์„œ ์‚ฌ์šฉํ•˜๊ณ  </>๋ฅผ ์ด์šฉํ•ด์„œ ์ข…๋ฃŒํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํƒœ๊ทธ์•ˆ์— ์žˆ๋Š” ๊ฒƒ์€ ์ปจํ…์ธ ๋ผ๊ณ  ํ•˜๋ฉฐ ์ด ํ•˜๋‚˜๋ฅผ ์šฐ๋ฆฌ๋Š” Element๋ผ๊ณ  ํ•œ๋‹ค. Element๋Š” ๋…ธ๋“œ๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ๋Š”๋ฐ ์ดํ›„์— JS๋ฅผ ๋ฐฐ์šธ ๋•Œ DOM Tree๋ฅผ ์ดํ•ดํ•˜๋ฉด์„œ Element๊ฐ€ ์–ด๋–ป๊ฒŒ ๋”ํŠธ๋ฆฌ์— ์‚ฝ์ž…์ด ๋˜๊ณ  HTML์—๊ฒŒ์„œ ์ œ์–ด๊ถŒ์„ ์–ป์–ด๊ฐ€๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

https://mdn.mozillademos.org/files/9347/grumpy-cat-small.png

6. Attributes


<ํƒœ๊ทธ> ์•ˆ์—๋Š” Attributes๋ผ๋Š” ์†์„ฑ์ด ์žˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์†์„ฑ๊ฐ’์„ ์ž„์˜๋กœ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์ด ์žˆ๋‹ค.

https://mdn.mozillademos.org/files/9345/grumpy-cat-attribute-small.png

7. List (ol vs ul)


๋ฆฌ์ŠคํŠธ ์•ˆ์—๋Š” ๋‘ ๊ฐ€์ง€ ํ˜•ํƒœ๊ฐ€ ์žˆ๋‹ค.

  • ol: ๋ชฉ๋ก ์ˆœ์„œ๊ฐ€ ์žˆ๋Š”
  • ul: ๋ชฉ๋ก ์ˆœ์„œ๊ฐ€ ์—†๋Š”
  • li: ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ

8. Input and type


<input> ํƒœ๊ทธ๋Š” ์›น ๊ฐœ๋ฐœ์—์„œ ํ”ํ•˜๊ฒŒ ์‚ฌ์šฉ๋œ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฐ›์•„์˜ค๋Š” ํƒœ๊ทธ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋ณดํ†ต ๋‹จ๋…์œผ๋กœ ์‚ฌ์šฉ๋˜๊ธฐ ๋ณด๋‹ค๋Š” <label> ์ด ๊ฐ™์ด ์‚ฌ์šฉ๋˜๋Š”๋ฐ ์‚ฌ์šฉ์ž์—๊ฒŒ ์–ด๋–ค ์ •๋ณด๋ฅผ ๋ฐ›์•„์˜ฌ ์ง€ ๋ช…ํ™•ํ•˜๊ฒŒ ๋‚˜ํƒ€๋‚ด ์ฃผ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋˜ํ•œ ์ด ๋‘˜์€ inline block์ด๋ผ์„œ ํ•œ ์ค„์— ๋ชจ๋‘ ํ‘œ๊ธฐ๊ฐ€ ๋˜๋ฉฐ <input> ์€ ํ•œ ํŽ˜์ด์ง€์•ˆ์— ๋„ˆ๋ฌด๋‚˜ ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— id๋ฅผ ํ†ตํ•ด์„œ ๊ณ ์œ ํ•œ ์‹๋ณ„์ž๋ฅผ ์ค˜์•ผ ํ•œ๋‹ค.

<label for="input_name">Name is Input</label>
<input id="input_name" type="text"> 
profile
์•ˆ๋…•ํ•˜์„ธ์š”, ์ง€์‹์„ ๊ณต์œ ํ•˜๋Š” ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด