๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป Dev/Front-End

CSS, JavaScript ๊ธฐ์ดˆ

yesolz 2024. 8. 21. 23:04
728x90
 

CSS

  • Cascading Style Sheets
  • HTML ๊พธ๋ฉฐ์ฃผ๋Š” ์–ธ์–ด
  • ๋ฌธ์„œ ํ†ต์งธ๋กœ๊ฐ€ ์•„๋‹Œ, HTML ํ•˜๋‚˜ํ•˜๋‚˜ ๊พธ๋ฉฐ์คŒ

HTML์— CSS ์ ์šฉ ๋ฐฉ๋ฒ• 3๊ฐ€์ง€

  • ์ธ๋ผ์ธ (inline): HTML ํƒœ๊ทธ ์•ˆ์— ๊ฐ™์ด ์ž‘์„ฑ
  • ๋‚ด๋ถ€ ์Šคํƒ€์ผ ์‹œํŠธ (internal style sheet): HTML ๋ฌธ์„œ ์•ˆ์— ๊ฐ™์ด ์ž‘์„ฑ
  • ์™ธ๋ถ€ ์Šคํƒ€์ผ ์‹œํŠธ (external style sheet): HTML ๋ฌธ์„œ ๋ฐ–์— ์ž‘์„ฑํ•˜๊ณ  ์—ฐ๊ฒฐ

* HTML ํƒœ๊ทธ ํ•œ์Œ์„ element๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. 

 

JavaScript

ํŠน์ • HTML์š”์†Œ๋ฅผ ์„ ํƒํ•˜์—ฌ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด

์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋ž€?

๋…๋ฆฝ์ ์ธ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ์•„๋‹Œ, (ํ”„๋กœ๊ทธ๋žจ ๋‚ด๋ถ€์˜ ๊ตฌ์„ฑ ์š”์†Œ ์ค‘ ํ•˜๋‚˜๋กœ) ํ”„๋กœ๊ทธ๋žจ์„ ์ œ์–ดํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์—ญํ• ์„ ํ•˜๋Š” ์–ธ์–ด

-> ๋Ÿฐํƒ€์ž„์˜ ๋ฐœ์ „์œผ๋กœ, ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋งŒ์œผ๋กœ๋„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ๊ฐ€๋Šฅํ•ด์ ธ ์—ญํ• ์ด ํ™•์žฅ๋˜์—ˆ๋‹ค.

 

HTML์— JavaScript ์ ์šฉ ๋ฐฉ๋ฒ• 3๊ฐ€์ง€

  • ์ธ๋ผ์ธ (inline): ์‚ฌ์šฉ์ž์™€์˜ ์ƒํ˜ธ์ž‘์šฉ์ด ์žˆ์„ ๋•Œ๋งŒ ๊ฐ€๋Šฅ. (๋ฒ„ํŠผ์„ ํด๋ฆญํ–ˆ์„ ๋•Œ, ํ‚ค๋ณด๋“œ ๋ˆŒ๋ €์„ ๋•Œ ๋“ฑ๋“ฑ)
  • ๋‚ด๋ถ€ ์Šคํƒ€์ผ ์‹œํŠธ (internal script): HTML ๋ฌธ์„œ ์•ˆ์— ๊ฐ™์ด ์ž‘์„ฑ
  • ์™ธ๋ถ€ ์Šคํƒ€์ผ ์‹œํŠธ (external script): HTML ๋ฌธ์„œ ๋ฐ–์— ์ž‘์„ฑํ•˜๊ณ  ์—ฐ๊ฒฐ

 

ํ•จ์ˆ˜

ํŠน์ • ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ฝ”๋“œ ๋ฉ์–ด๋ฆฌ. 

 

JavaScript๊ฐ€ ํŠน์ • ํƒœ๊ทธ(element)๋ฅผ ์ฐพ๋Š” ๋ฒ•

  • id๋กœ ์ฐพ๊ธฐ: document.getElementById('์•„์ด๋””')
  • class ์ด๋ฆ„์œผ๋กœ ์ฐพ๊ธฐ: document.getElementsByClassName('ํด๋ž˜์Šค ์ด๋ฆ„')
  • tag ์ด๋ฆ„์œผ๋กœ ์ฐพ๊ธฐ: document.getElementsByTagName('ํƒœ๊ทธ ์ด๋ฆ„')

 

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ณ€์ˆ˜ ์„ ์–ธ 3๊ฐ€์ง€

var, let, const

๋‹จ var์€ ES5 ๊นŒ์ง€์˜ ๋ฌธ๋ฒ•์ด๋ฏ€๋กœ, ํ˜„์žฌ๋กœ์„œ๋Š” ์›ฌ๋งŒํ•˜๋ฉด ES6๋ฌธ๋ฒ•์ธ let๊ณผ const์„ ํ™œ์šฉํ•˜์—ฌ ์„ ์–ธํ•˜์ž. 

var์„ ์‚ฌ์šฉํ•˜๋ฉด ํ•จ์ˆ˜ ์Šค์ฝ”ํ”„์™€ ํ˜ธ์ด์ŠคํŒ…์œผ๋กœ ์ธํ•ด ์˜ˆ๊ธฐ์น˜ ์•Š์€ ๋ฒ„๊ทธ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. 

  • let: ์žฌ์„ ์–ธ ๋ถˆ๊ฐ€, ์žฌํ• ๋‹น ๊ฐ€๋Šฅ
  • const: ์žฌ์„ ์–ธ ๋ถˆ๊ฐ€, ์žฌํ• ๋‹น ๋ถˆ๊ฐ€
var ํ‚ค์›Œ๋“œ์˜ ์—ฌ๋Ÿฌ ๋‹จ์  ์ค‘ ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ๊ฒƒ์€ ๋ธ”๋ก ๋ ˆ๋ฒจ ์Šค์ฝ”ํ”„๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๊ณ  ํ•จ์ˆ˜ ๋ ˆ๋ฒจ ์Šค์ฝ”ํ”„๋ฅผ ์ง€์›ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋กœ ์ธํ•ด ์˜๋„์น˜ ์•Š๊ฒŒ ์ „์—ญ ๋ณ€์ˆ˜๊ฐ€ ์„ ์–ธ๋˜์–ด ์‹ฌ๊ฐํ•œ ๋ถ€์ž‘์šฉ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

ใ€Ž๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋”ฅ๋‹ค์ด๋ธŒใ€

 

์‹ค์Šต ํ™”๋ฉด 

 

๋ฐฐ์šด ์ 

 

JavaScript๋Š” ๋ณธ๋ž˜ ์›น ํŽ˜์ด์ง€์˜ ๋™์ ์ธ ์š”์†Œ๋ฅผ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์˜€๋‹ค. ํ•˜์ง€๋งŒ ์ดํ›„ ๋ช‡ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ๋ฐœ์ „์„ ๊ฑฐ์น˜๋ฉฐ, ํ˜„์žฌ๋Š” ์›น์„ ๋„˜์–ด ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ฒ”์šฉ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ๋˜์—ˆ๋‹ค. ์—ฌ๋Ÿฌ ๋ฐœ์ „ ์ค‘ ๊ฐ€์žฅ ๊ฒฐ์ •์ ์ธ ๊ณ„๊ธฐ๋Š” Node.js๋ผ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์˜ ๋“ฑ์žฅ์ด๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์›น์„ ๋„˜์–ด ์„œ๋ฒ„์™€ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด๋กœ ๋ฐœ์ „ํ–ˆ๋‹ค. 

 

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

728x90