๐Ÿ–ฅ๏ธ Frontend_

[Frontend] HTML & CSS

CodeLoge 2025. 2. 20. 20:11

Chapter #3 ๋ฌธ์„œ๋ฅผ ๊ตฌ์กฐํ™”ํ•˜๋Š” HTML

Section 1. HTML ๊ฐœ์š” ๋ฐ ๊ธฐ๋ณธ ํƒœ๊ทธ

 

โœด๏ธŽ HTML

: Markup Language๋กœ ์›น ๋ฌธ์„œ ์ž‘์„ฑ, ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ฌธ์„œ์˜ ๊ตฌ์กฐ ๋“ฑ์„ ๊ธฐ์ˆ ํ•˜๋Š” ์–ธ์–ด

→ Markup Languge

: ๋งˆํฌ์—… ํƒœ๊ทธ๋“ค๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, HTML ๋ฌธ์„œ๋Š” HTML ํƒœ๊ทธ๋กœ ์ž‘์„ฑ

: ๊ฐ๊ฐ์˜ HTML ํƒœ๊ทธ๋Š” ๋ฌธ์„œ ๋‚ด์—์„œ ๋‹ค๋ฅธ ๋‚ด์šฉ์„ ๊ธฐ์ˆ 

: HTML ํƒœ๊ทธ๋Š” ํƒœ๊ทธ ์ด๋ฆ„์„ Angle Bracket <,> ์œผ๋กœ ๋‘˜๋Ÿฌ์‹ธ์„œ ํ‘œํ˜„, ์–ด๋А ํƒœ๊ทธ์—๋‚˜ ๋„ฃ์–ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธ€๋กœ๋ฒŒ ์†์„ฑ์ด ์žˆ์Œ

๊ธ€๋กœ๋ฒŒ ์†์„ฑ ์„ค๋ช…
class ํƒœ๊ทธ์— ์ ์šฉํ•  ์Šคํƒ€์ผ์˜ ์ด๋ฆ„์„ ์ง€์ •
dir ๋‚ด์šฉ์˜ ํ…์ŠคํŠธ ๋ฐฉํ–ฅ์„ ์ง€์ •
→ ์™ผ์ชฝ ๋งž์ถค, ์˜ค๋ฅธ์ชฝ ๋งž์ถค๊ณผ ์œ ์‚ฌ
id ํƒœ๊ทธ์— ์œ ์ผํ•œ ID๋ฅผ ๋ถ€์—ฌ, JavaScript ์ œ์–ด์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ
style ์ธ๋ผ์ธ ์Šคํƒ€์ผ์‹œํŠธ๋ฅผ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ

: ํƒœ๊ทธ

โ‘  <head> ํƒœ๊ทธ

: html ๋ฌธ์„œ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์จ๋†“์€ ๊ณณ

: metadata → ๋ฐ์ดํ„ฐ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋ฐ์ดํ„ฐ

โ‘ก <body> ํƒœ๊ทธ

: html ๋ฌธ์„œ์˜ ๋ณธ๋ฌธ์˜ ์‹œ์ž‘๊ณผ ์ข…๋ฃŒ๋ฅผ ์•Œ๋ ค์คŒ

: ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ํ™”๋ฉด์— ๋ณด์ด๋Š” ๋‚ด์šฉ์€ ์ด๊ณณ์—์„œ ์ž‘์„ฑ

โ‘ข <p> ํƒœ๊ทธ

: ๋ฌธ๋‹จ๊ณผ ๋ฌธ๋‹จ ์‚ฌ์ด๋ฅผ ๊ตฌ๋ถ„ํ•  ๋•Œ ์‚ฌ์šฉ, html ๋ฌธ์„œ์—์„œ๋Š” ํŠน๋ณ„ํ•œ ์ง€์‹œ๋ฅผ ํ•ด์ฃผ์ง€ ์•Š์œผ๋ฉด ๋ฌธ๋‹จ ๊ตฌ๋ถ„ X, ํ•œ ๋ฌธ์žฅ์œผ๋กœ ์ทจ๊ธ‰

โ‘ฃ <br> ํƒœ๊ทธ

: ์ค„ ๋ฐ”๊ฟˆ ํƒœ๊ทธ

โ‘ค ๊ธ€๊ผด ์†์„ฑ ํƒœ๊ทธ <i>, <b>

: ๊ธ€์ž๋ฅผ ๊ฐ•์กฐํ•  ๋•Œ ์‚ฌ์šฉ

: <i> → ๊ธ€๊ผด ๊ธฐ์šธ์ž„

: <b> → ๊ธ€๊ผด ์ง„ํ•˜๊ฒŒ

โ‘ฅ <img> ํƒœ๊ทธ

: ์›น ํŽ˜์ด์ง€์— ์ด๋ฏธ์ง€๋ฅผ ์‚ฝ์ž…ํ•  ๋•Œ ์‚ฌ์šฉ

: alt → "๋Œ€์‹ ํ•  ๋ฌธ์ž" : ์ด๋ฏธ์ง€๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ๋ชปํ•  ๊ฒฝ์šฐ ๋Œ€์‹  ํ‘œ์‹œํ•  ๋ฉ”์‹œ์ง€ ์ง€์ •,

์‹œ๊ฐ์žฅ์• ์ธ ๋“ฑ ์—ฌ๋Ÿฌ ์†Œ์ˆ˜์ž๊ฐ€ ๋ณด์กฐ ๊ธฐ๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ด ์›น์„ ๋ฐ›์•„๋“ค์—ฌ์•ผํ•  ๋•Œ ํ•ด๋‹น ๋ฌธ์ž๋กœ ์•Œ๊ธฐ ๋•Œ๋ฌธ์— ํ•„์ˆ˜์ ์œผ๋กœ ์ž‘์„ฑํ•ด์•ผํ•จ

โ‘ฆ ๋ฆฌ์ŠคํŠธ ํƒœ๊ทธ์™€ <a> ํƒœ๊ทธ

๋ฆฌ์ŠคํŠธ ํƒœ๊ทธ

: ๋ชฉ๋ก์„ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉ

: ์ˆœ์„œ ์—†๋Š” ๋ฆฌ์ŠคํŠธ → <ul>

: ์ˆœ์„œ ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ → <ol>

: ๋ชฉ๋ก์˜ ๋‚ด์šฉ์ธ ์•„์ดํ…œ → <li>

<a> ํƒœ๊ทธ

ํ•˜์ด๋ฒ„๋งํฌ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ด๋™ํ•  ํŽ˜์ด์ง€ ๋˜๋Š” ์ด๋™ํ•  ์œ„์น˜๋ฅผ ์ง€์ •ํ•  ๋•Œ ์‚ฌ์šฉ

โ‘ง ํ…Œ์ด๋ธ” ๊ด€๋ จ ํƒœ๊ทธ

<table> ํƒœ๊ทธ

: ํ‘œ ์ž‘์„ฑ ํƒœ๊ทธ → <tr> : ํ–‰ ํ‘œ์‹œ / <td> : ์—ด ํ‘œ์‹œ

โ‘จ <div> ํƒœ๊ทธ

: html ๋ฌธ์„œ์—์„œ ์˜์—ญ ๋˜๋Š” ๊ตฌ์—ญ ์ •์˜

: ๋ฌธ์„œ๋ฅผ ๊ตฌ์—ญ ๋ณ„๋กœ ๋‚˜๋ˆ„๊ฑฐ๋‚˜, ์Šคํƒ€์ผ์‹œํŠธ๋ฅผ ์ ์šฉํ•  ๊ทธ๋ฃน ์˜์—ญ์œผ๋กœ ์‚ฌ์šฉ ๋˜๋Š” ๋ฌธ์„œ ์ „์ฒด์— ์Šคํƒ€์ผ์‹œํŠธ ์ ์šฉ์„ ์ดˆ๊ธฐํ™” ํ•  ๋•Œ ์‚ฌ์šฉ

 

Section 2. HTML5 ๋ฌธ์„œ ๊ตฌ์กฐ ๋ฐ ์ฃผ์š” ํƒœ๊ทธ

 

โœด๏ธŽ HTML ๋ฌธ์„œ ๊ตฌ์กฐ

์‹œ๋งจํ‹ฑ ํƒœ๊ทธ (Semantic Tag) :  ์˜๋ฏธ์  ํƒœ๊ทธ, ํƒœ๊ทธ๋ช…์ด ํ‘œํ˜„ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์„ค๋ช…

Ex) <id>1234<id> : 1234๋ผ๋Š” ๊ฐ’์ด ID ๊ฐ’์ด๋ผ๋Š” ๊ฒƒ์„ ํ‘œํ˜„

 

โœด๏ธŽ์‹œ๋งจํ‹ฑ/๊ตฌ์กฐ์  ํƒœ๊ทธ(Element)

: ๋ฌธ์„œ์˜ ์˜์—ญ ๊ตฌ์กฐ๋ฅผ ํ‘œํ˜„ ํƒœ๊ทธ๋“ค

 

โ‘  <header> ํƒœ๊ทธ : ์‚ฌ์ดํŠธ์˜ ์†Œ๊ฐœ๋‚˜ ๋‚ด๋น„๊ฒŒ์ด์…˜ ๋“ฑ์„ ํ‘œ์‹œ

โ‘ก <nav> ํƒœ๊ทธ : ์‚ฌ์ดํŠธ์˜ ๋‚ด๋น„๊ฒŒ์ด์…˜(๋ฉ”๋‰ด) ํ•ญ๋ชฉ์„ ํ‘œ์‹œ

โ‘ข<article> ํƒœ๊ทธ : ๋ฌธ์„œ์˜ ๋‚ด์šฉ์„ ํ‘œ์‹œํ•˜๋Š” ํƒœ๊ทธ → ๋…๋ฆฝ์ ์ธ ์ฝ˜ํ…์ธ  ํ‘œ์‹œ

โ‘ฃ<section> ํƒœ๊ทธ : ๋ฌธ์„œ์˜ ๋‚ด์šฉ์„ ํ‘œ์‹œํ•˜๋Š” ํƒœ๊ทธ → ์ฃผ๋กœ, ๋ฌธ์„œ์˜ ์˜์—ญ์ ์ธ ์˜๋ฏธ๋กœ ์‚ฌ์šฉ

โ‘ค<aside> ํƒœ๊ทธ : ๋ณธ๋ฌธ์˜ ๋‚ด์šฉ๊ณผ๋Š” ๋…๋ฆฝ์ ์ธ ๋‚ด์šฉ์ธ ์‚ฌ์ด๋“œ๋ฐ” ์ฝ˜ํ…์ธ ๋ฅผ ํ‘œ์‹œ

โ‘ฅ<footer> ํƒœ๊ทธ : ์‚ฌ์ดํŠธ์˜ ์ œ์ž‘์ž, ์ฃผ์†Œ, ์ €์ž‘๊ถŒ ์ •๋ณด ๋“ฑ์„ ์ฃผ๋กœ ํ‘œ์‹œ

โ‘ฆ<figure> ํƒœ๊ทธ : ์„ค๋ช…๊ธ€์„ ๋ถ™์ผ ๋Œ€์ƒ ์ •์˜

โ‘ง<figcaption> ํƒœ๊ทธ : <figure>ํƒœ๊ทธ๋กœ ์ •์˜ํ•œ ๋Œ€์ƒ์— ์„ค๋ช…๊ธ€์„ ๋ถ™์ž„

 

โœด๏ธŽ ์›น ํผ ํƒœ๊ทธ(Element)  - ์ž…๋ ฅ ํผ์„ ๊ตฌ์„ฑํ•˜๋Š” ํƒœ๊ทธ

: ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์„ ๋ฐ›๊ธฐ ์œ„ํ•œ ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํƒœ๊ทธ๋“ค

: ์ž…๋ ฅ๋ž€, ์ฒดํฌ๋ฐ•์Šค, ๋ฒ„ํŠผ, ์ฝค๋ณด์ƒ์ž ๋“ฑ

: ์ฃผ๋กœ <form></form> ์‚ฌ์ด์— ๋„ฃ์–ด์„œ ์‚ฌ์šฉ์ž ์ž…๋ ฅํ™”๋ฉด์„ ๊ตฌํ˜„

 

โ‘ <form> ํƒœ๊ทธ

: ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ๋ฐ›๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉ

: ์ •์˜ํ•  ๋•Œ ์†์„ฑ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

โ‘ก<input> ํƒœ๊ทธ

: ์›น ํผ ํƒœ๊ทธ๋“ค ์ค‘ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ

: ๊ฐ์ข… ๋ฒ„ํŠผ์„ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉ

 

โœด๏ธŽ ๋ฏธ๋””์–ด/๊ทธ๋ž˜ํ”ฝ ํƒœ๊ทธ(Element)

: ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ์žฌ์ƒ ๋ฐ ๊ทธ๋ž˜ํ”ฝ ์˜์—ญ ์ œ๊ณต 

 

• ๋ฏธ๋””์–ด ํƒœ๊ทธ - ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ์žฌ์ƒ

โ‘ <audio> ํƒœ๊ทธ

: ์˜ค๋””์˜ค ํŒŒ์ผ์„ ์žฌ์ƒํ•  ๋•Œ ์‚ฌ์šฉ

โ‘ก<video> ํƒœ๊ทธ

: ๋น„๋””์˜ค ํŒŒ์ผ์„ ์žฌ์ƒํ•  ๋•Œ ์‚ฌ์šฉ

โ‘ข<embed> ํƒœ๊ทธ

: ํ”Œ๋ž˜์‹œ ํŒŒ์ผ(.swf) ๋ฐ ๋™์˜์ƒํŒŒ์ผ(.mp4 ๋“ฑ), html ํŒŒ์ผ, ์ด๋ฏธ์ง€ ํŒŒ์ผ ๋“ฑ์„ ํ”Œ๋Ÿฌ๊ทธ์ธ ์ฝ˜ํ…์ธ ๋กœ์จ ํ™”๋ฉด์— ํ‘œ์‹œ

โ‘ฃ<object> ํƒœ๊ทธ

: ์›น ํŽ˜์ด์ง€์—์„œ ์ผ์ข…์˜ ๋‚ด์žฅ ๊ฐ์ฒด

: <embed> ํƒœ๊ทธ๊ฐ€ ํ‘œ์‹œ๊ฐ€๋Šฅํ•œ ๊ฒƒ๋“ค ๋™์ผํ•˜๊ฒŒ ํ‘œ์‹œํ•˜์ง€๋งŒ, ๋‚ด์žฅ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์“ธ ๋•Œ๋„ ์‚ฌ์šฉ

โ‘ค<iframe> ํƒœ๊ทธ

: Youtube ๋™์˜์ƒ์„ ์›น ํŽ˜์ด์ง€์— ์—ฐ๊ฒฐํ•  ๋•Œ ์‚ฌ์šฉ

 

•๊ทธ๋ž˜ํ”ฝ ํƒœ๊ทธ - ๊ทธ๋ž˜ํ”ฝ ์˜์—ญ ์ œ๊ณต

โ‘ <canvas> ํƒœ๊ทธ

: ๊ฒŒ์ž„์„ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉ

: ๋ชจ๋“  ์ข…๋ฅ˜์˜ ๊ทธ๋ž˜ํ”ฝ์„ ๊ทธ๋ฆด ์ˆ˜ ์žˆ๋Š” ์˜์—ญ์„ ์ œ๊ณต

โ‘ก<svg> ํƒœ๊ทธ

: W3C์˜ ๊ถŒ์žฅ ๊ทธ๋ž˜ํ”ฝ ํ˜•์‹

: ์ง€๋„ ๋“ฑ์„ ํ‘œ์‹œํ•  ๋•Œ ์‚ฌ์šฉ

: SVG ๊ทธ๋ž˜ํ”ฝ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์˜์—ญ(Container)์„ ์ œ๊ณต

 

Chapter #4 ํƒœ๊ทธ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” CSS์™€ Advanced CSS

 

Section 1. CSS ๊ฐœ์š” ๋ฐ CSS ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•

โœด๏ธŽ CSS๋ž€?

: ์บ์Šค์บ์ด๋”ฉ ์Šคํƒ€์ผ์‹œํŠธ (Cascading Style Sheets)

: HTML ํƒœ๊ทธ๋ฅผ ํ™”๋ฉด์ƒ์— ์–ด๋–ป๊ฒŒ ํ‘œํ˜„ํ• ์ง€ ์„ค์ •

: ๋ฌธ์„œ์˜ ๋‚ด์šฉ์„ ํ™”๋ฉด์— ํ‘œ์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•์ธ ๋””์ž์ธ ์„ค์ •

 

โœด๏ธŽ CSS ์‚ฌ์šฉ ์ด์œ ?

: ๋””์ž์ธ, ๋ ˆ์ด์•„์›ƒ, ๋‹ค์–‘ํ•œ ๊ธฐ๊ธฐ ๋ฐ ํ™”๋ฉด ํฌ๊ธฐ์— ๋”ฐ๋ฅธ ๋””์Šคํ”Œ๋ ˆ์ด์˜ ๋‹ค์–‘์„ฑ ๋ฌธ์ œ๋ฅผ ํฌํ•จํ•œ ์›น ํŽ˜์ด์ง€์˜ ์Šคํƒ€์ผ์„ ์ •์˜ํ•  ๋•Œ ์‚ฌ์šฉ

: ํ™”๋ฉด ํฌ๊ธฐ์— ์ž๋™์œผ๋กœ ๋ฐ˜์‘ํ•œ ์‚ฌ์ดํŠธ(๋ฐ˜์‘ํ˜• ์›น)์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ → ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  ์ค‘ ํ•˜๋‚˜

 

โœด๏ธŽ CSS ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•

 

โ‘  CSS ์ž‘์„ฑ ์œ„์น˜

๋ฐฉ๋ฒ• 1. ์Šคํƒ€์ผ์‹œํŠธ๋ฅผ ํƒœ๊ทธ์˜ style ์†์„ฑ์— ๊ธฐ์ˆ 

๋ฐฉ๋ฒ• 2. ์Šคํƒ€์ผ์‹œํŠธ๋ฅผ HTML ๋ฌธ์„œ ๋‚ด์— ํฌํ•จํ•ด์„œ ์ž‘์„ฑ

๋ฐฉ๋ฒ• 3. ์Šคํƒ€์ผ์‹œํŠธ๋ฅผ ๋ณ„๋„์˜ ํŒŒ์ผ๋กœ ์ž‘์„ฑ → ์™ธ๋ถ€ ์Šคํƒ€์ผ์‹œํŠธ๋ผ๊ณ ๋„ ๋ถ€๋ฆ„ (External Style Sheets)

 

โ‘ก CSS ์ž‘์„ฑ ๊ทœ์น™

 

• CSS ๊ธฐ๋ณธ ๊ทœ์น™

: ๊ทœ์น™ ์ง‘ํ•ฉ์€ ์‹ค๋ ‰ํ„ฐ์™€ ์„ ์–ธ ๋ธ”๋ก์œผ๋กœ ๊ตฌ์„ฑ

• ์‹ค๋ ‰ํ„ฐ์˜ ์ข…๋ฅ˜

: ์Šคํƒ€์ผ์‹œํŠธ ์‹ค๋ ‰ํ„ฐ(selector) → type selector & univeral selector๋ฅผ ํฌํ•จ

: ์˜์‚ฌ ์—˜๋ฆฌ๋จผํŠธ → ํƒœ๊ทธ๋ช… : hover ⇒ ๋งˆ์šฐ์Šค ํฌ์ธํ„ฐ๊ฐ€ ์œ„์น˜ํ•˜๋Š” ๊ฒฝ์šฐ ์ ์šฉ๋˜๋Š” ์Šคํƒ€์ผ ๊ธฐ์ˆ