๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Web/Html&Css

Html&CSS ์‚ฌ์šฉํ•˜๊ธฐ

๐Ÿ“’ HTML&CSS ํ•™์Šต ์ „ ๋ธŒ๋ผ์šฐ์ € ๋ Œ๋”๋ง์ด๋ž€?

โœ” ๋ธŒ๋ผ์šฐ์ €๋Š” ํ…์ŠคํŠธ๋กœ ์ด๋ฃจ์–ด์ง„ HTML, CSS, JavaScript ํŒŒ์ผ์„ ์ฝ๊ณ  ์›น ํŽ˜์ด์ง€๋ฅผ ๊ทธ๋ ค๋‚ธ๋‹ค.

โœ” ์›น ํŽ˜์ด์ง€๋ฅผ ๊ทธ๋ ค๋‚ด๋Š” ๊ณผ์ •์„ "ํŒŒ์‹ฑ", "๋ Œ๋”๋ง" ์ž‘์—…์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.

   โ• ํŒŒ์‹ฑ ์ž‘์—…์€ HTML, CSS, JavaScript ๋“ฑ์˜ ๋ฌธ์„œ๋ฅผ ์ฝ๊ณ  ์ด๋ฅผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •

   โ• ๋ Œ๋”๋ง ์ž‘์—…์€ ํŒŒ์‹ฑ ์ž‘์—…์œผ๋กœ ์ƒ์„ฑ๋œ ์ž๋ฃŒ๊ตฌ์กฐ์˜ ์ผ์ข…์ธ ๋ Œ๋” ํŠธ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ธŒ๋ผ์šฐ์ € ํ™”๋ฉด์— ๊ทธ ๋‚ด์šฉ์„ ์‹œ๊ฐ์ ์œผ๋กœ ์ถœ๋ ฅํ•˜๋Š” ๊ณผ์ • 

 

๐Ÿ“’ ํŒŒ์‹ฑ๊ณผ ๋ Œ๋”๋ง ๊ณผ์ •

โœ” HTML, CSS ๋ฌธ์„œ๋Š” ํ…์ŠคํŠธ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์–ด, ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ•ด๋‹น ์ž๋ฃŒ๋ฅผ ์‚ฌ์šฉํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ์‹œ๊ฐ์ ์œผ๋กœ ์ธ์ง€ํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ด์šฉ์œผ๋กœ ๋ Œ๋”๋งํ•˜๋ ค๋ฉด, ์šฐ์„  ์ „๋‹ฌ๋œ ๋ฌธ์„œ๋ฅผ ํŒŒ์‹ฑํ•˜๊ณ , ์ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค.

โœ” ๋ธŒ๋ผ์šฐ์ €์˜ ๋ Œ๋”๋ง ์—”์ง„์ด ์œ„์˜ ์ž‘์—…์„ ๋‹ด๋‹นํ•˜๋ฉฐ, ์„œ๋ฒ„๋กœ ๋ถ€ํ„ฐ ์‘๋‹ต ๋ฐ›์€ HTML ํŒŒ์ผ์„ ํŒŒ์‹ฑํ•˜๊ณ , ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์„œ์ธ DOM(Document Object Model)์„ ์ƒ์„ฑํ•œ๋‹ค.

โœ” ํŒŒ์‹ฑ ๊ณผ์ •์€ ์œ„์—์„œ๋ถ€ํ„ฐ ์•„๋ž˜๋กœ ์ˆœ์ฐจ์ ์œผ๋กœ ์ง„ํ–‰๋˜๋‹ค๊ฐ€ CSS๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ํƒœ๊ทธ(link, style)๋ฅผ ๋งŒ๋‚˜๋ฉด ๋ Œ๋”๋ง ์—”์ง„์€ DOM์˜ ์ƒ์„ฑ์„ ์ผ์‹œ์ ์œผ๋กœ ์ค‘๋‹จ, CSS ํŒŒ์ผ์„ ์š”์ฒญํ•ด ํ•ด๋‹น ๋‚ด์šฉ์„ ๋ฐ›์•„์˜ค๊ณ  ์ด๋ฅผ ํŒŒ์‹ฑํ•ด์„œ CSSOM(CSS Object Model)์„ ์ƒ์„ฑํ•œ๋‹ค.

โœ” CSS์˜ ํŒŒ์‹ฑ์ด ์™„๋ฃŒ๋˜๋ฉด, ๋ Œ๋”๋ง ์—”์ง„์€ ๋‹ค์‹œ ์ค‘๋‹จ๋˜์—ˆ๋˜ ์ง€์ ์œผ๋กœ ๋Œ์•„๊ฐ€์„œ ํŒŒ์‹ฑ์„ ์ง„ํ–‰ํ•˜๊ณ , ์ด๋Ÿฐ ๊ณผ์ •์œผ๋กœ ์™„๋ฃŒ๋œ DOM Tree์™€ CSSOM Tree๋ฅผ ๊ฒฐํ•ฉํ•ด์„œ ๋ Œ๋” ํŠธ๋ฆฌ๋ฅผ ๋งŒ๋“ ๋‹ค.

โœ” ๋งŒ์ผ, script ํƒœ๊ทธ๋ฅผ ๋งŒ๋‚˜๊ฒŒ ๋˜๋ฉด, DOM์˜ ์ƒ์„ฑ์„ ์ค‘๋‹จํ•˜๊ณ  JavaScript ๋ฆฌ์†Œ์Šค๋ฅผ ์š”์ฒญํ•ด์„œ ๋ฐ›์•„์˜ค๊ณ  ํŒŒ์‹ฑํ•œ๋‹ค.

โœ” ํ•ด๋‹น ๊ณผ์ •์„ ๋‹ด๋‹นํ•˜๋Š” ๊ฒƒ์€ ๋ Œ๋”๋ง ์—”์ง„์ด ์•„๋‹Œ JavaScript ์—”์ง„์ด๋ฉฐ, JavaScript ์ฝ”๋“œ ๋‚ด๋ถ€์— DOM์ด๋‚˜ CSSOM์„ ์กฐ์ž‘ํ•˜๋„๋ก ๋˜์–ด ์žˆ๋‹ค๋ฉด, ๊ธฐ์กด์— ์ƒ์„ฑ๋˜์—ˆ๋˜ DOM/CSSOM์„ ๋™์ ์œผ๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.

โœ” ๋งŒ๋“ค์–ด์ง„ ๋ Œ๋” ํŠธ๋ฆฌ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํ™”๋ฉด์„ ๋ Œ๋”๋งํ•œ๋‹ค.

๐Ÿ’ฅ script ํƒœ๊ทธ๊ฐ€ ์ œ์ผ ๋งˆ์ง€๋ง‰์— ์œ„์น˜ํ•ด์•ผ ํ•˜๋Š” ์ด์œ 

๋ธŒ๋ผ์šฐ์ €์˜ ๋ Œ๋”๋ง ๊ณผ์ •์€ HTML ๋ฌธ์„œ๋กœ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ณ , ํŒŒ์‹ฑํ•˜๋Š” ๊ณผ์ •์—์„œ CSS๋‚˜ JavaScript ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•  ๊ฒฝ์šฐ DOM ์ƒ์„ฑ์„ ์ค‘๋‹จํ•˜๊ณ  ๋ฆฌ์†Œ์Šค์˜ ํ•ด์„์œผ๋กœ ๋„˜์–ด๊ฐ„๋‹ค. ๋งŒ์ผ DOM ์ƒ์„ฑ์ด ์™„๋ฃŒ๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ JavaScript ๋ฆฌ์†Œ์Šค๋กœ ๋„˜์–ด๊ฐ€์„œ ์•„์ง ์ƒ์„ฑ๋˜์ง€ ์•Š์€ DOM์„ ์กฐ์ž‘ํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ, script ํƒœ๊ทธ๋ฅผ body ํƒœ๊ทธ์˜ ๊ฐ€์žฅ ํ•˜๋‹จ์— ์œ„์น˜์‹œํ‚ค๋ฉด, ์ด๋ฏธ ์™„์„ฑ๋œ DOM์„ ๋ณ€๊ฒฝํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ์ง€ ์•Š๊ณ  ํŽ˜์ด์ง€์˜ ๋กœ๋”ฉ ์‹œ๊ฐ„์ด ๋‹จ์ถ•๋œ๋‹ค.

 

๐Ÿ“’ HTML (HyperText Markup Language)

โ—ผ ์›น ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค ๋•Œ,์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด

โ—ผ .html ํ˜•์‹

์—ฌ๊ธฐ์„œ Markup Language๋ž€, ์ž๋ฃŒ๋“ค์ด ์–ด๋–ป๊ฒŒ ์ƒ๊ฒผ๋‚˜ ๊ตฌ์กฐ๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ์–ธ์–ด์ด๋‹ค.

 

๐Ÿ“’ ๊ธฐ๋ณธ๊ตฌ์กฐ

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Document</title>
  </head>
  <body>
    <p>์•ˆ๋…•ํ•˜์„ธ์š”</p>
  </body>
</html>

 

๐Ÿ“’ ์‹ค์‹œ๊ฐ„ ๋””๋ฒ„๊น… ํ•˜๊ธฐ(VScode)

โœ” Live Server Install

 

โœ” html ํŒŒ์ผ ์šฐ ํด๋ฆญ ํ›„ Open with Live Server ํด๋ฆญํ•˜๊ธฐ

 

๐Ÿ“’ Html ๊ธฐ๋ณธ ํƒœ๊ทธ

ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ : HTML์€ Markup Language๋กœ, ์ž๋ฃŒ๊ฐ€ ์–ด๋””์— ์–ด๋–ป๊ฒŒ ๋ฐฐ์น˜๋˜์–ด ์žˆ๋‚˜ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ์–ธ์–ด์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

โœ” p ํƒœ๊ทธ

โ—ผ ๋ณธ๋ฌธ์„ ์ž‘์„ฑํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

 

โœ” h ํƒœ๊ทธ

โ—ผ ์ œ๋ชฉ์„ ์ž‘์„ฑํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

โ—ผ h1, h2, h3 ๋“ฑ ๊ธ€์ž ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โœ” img ํƒœ๊ทธ

โ—ผ ์ด๋ฏธ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ผ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

โ—ผ src ์†์„ฑ์„ ์‚ฌ์šฉํ•ด์„œ ์ด๋ฏธ์ง€ ๊ฒฝ๋กœ๋ฅผ ๊ธฐ์ž…ํ•œ๋‹ค.

 

โœ” button ํƒœ๊ทธ

โ—ผ ๋ฒ„ํŠผ์„ ์ƒ์„ฑํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

 

โœ” a ํƒœ๊ทธ

โ—ผ ๋งํฌ๋ฅผ ๊ธฐ์ž…ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

โ—ผ href ์†์„ฑ์— ์ฃผ์†Œ๋ฅผ ๊ธฐ์ž…ํ•œ๋‹ค.

 

โœ” ul ํƒœ๊ทธ / ol ํƒœ๊ทธ / li ํƒœ๊ทธ

โ—ผ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋‚˜ํƒ€๋‚ผ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

โ—ผ ul์€ unordered list๋กœ ์•ž์— ๋™๊ทธ๋ผ๋ฏธ๊ฐ€ ๋ถ™๋Š”๋‹ค.

โ—ผ ol์€ ordered list๋กœ ์•ž์— ๋ฒˆํ˜ธ๊ฐ€ ๋ถ™๋Š”๋‹ค.

โ—ผ li์€ list item์œผ๋กœ ๋ฆฌ์ŠคํŠธ ๋‚ด์šฉ์„ ๊ธฐ์ž…ํ•œ๋‹ค.

 

โœ” span ํƒœ๊ทธ

โ—ผ ๊ธ€์ž๋ฅผ ๊ฐ์Œ€ ๋•Œ ๋ณ„ ๋œป ์—†์ด ์‚ฌ์šฉํ•œ๋‹ค.

 

โœ” div ํƒœ๊ทธ

โ—ผ ๊ณต๊ฐ„์„ ๋„ฃ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. (์‚ฌ๊ฐํ˜• ํ˜•ํƒœ์˜ ๋ณ„๋„ ๊ณต๊ฐ„์ด ์ƒ์„ฑ๋œ๋‹ค.) 

โ—ผ ํ™”๋ฉด ๋ถ„ํ•  ์—ญํ• 

 

โœ” nav ํƒœ๊ทธ

โ—ผdiv์™€ ๋™์ผ ๊ธฐ๋Šฅ์ด์ง€๋งŒ, navbar๋ผ๋Š” ๊ฒƒ์„ ๋ช…์‹œํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โœ” form ํƒœ๊ทธ

โ—ผ ์ž‘์„ฑํ•œ ๋‚ด์šฉ์„ ์„œ๋ฒ„๋กœ ์ „๋‹ฌํ•˜๋Š” ์—ญํ• 

โ—ผ action ์†์„ฑ์œผ๋กœ ์–ด๋–ค ์„œ๋ฒ„ ๊ฒฝ๋กœ๋กœ ์ „๋‹ฌํ• ์ง€ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

โ—ผ method ์†์„ฑ์œผ๋กœ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์„œ๋ฒ„์— ์ „๋‹ฌํ• ์ง€ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

โ—ผ type ์†์„ฑ์œผ๋กœ ์–ด๋–ค ํƒ€์ž…์˜ ์ •๋ณด๋ฅผ ์ž…๋ ฅ๋ฐ›์„์ง€ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โœ” table ํƒœ๊ทธ / tr ํƒœ๊ทธ / td ํƒœ๊ทธ / th ํƒœ๊ทธ / thead ํƒœ๊ทธ / tbody ํƒœ๊ทธ

โ—ผ table ํƒœ๊ทธ ํ‘œ๋ฅผ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

โ—ผ tr ํƒœ๊ทธ ๊ฐ€๋กœ ์ค„์„ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

โ—ผ td ํƒœ๊ทธ ์„ธ๋กœ ์ค„์„ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

โ—ผ th ํƒœ๊ทธ ์ œ๋ชฉ ์šฉ ์—ด์„ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

โ—ผ thead ํƒœ๊ทธ ์ œ๋ชฉ ํ–‰์„ ๋„ฃ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

โ—ผ tbody ํƒœ๊ทธ ๋‚ด์šฉ ํ–‰์„ ๋„ฃ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

 

โ—โ— ํƒœ๊ทธ ์•ˆ์— ์†์„ฑ์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๊ณ , ํƒœ๊ทธ ์•ˆ์— ํƒœ๊ทธ๋ฅผ ๋„ฃ์„ ์ˆ˜๋„ ์žˆ๋‹ค.

<img src="html_part_1_img.png" />
<p>๊ตฌ๊ธ€ <a href="https://google.com">๋งํฌ</a></p>

 

๐Ÿ“’ Html ํƒœ๊ทธ ๊พธ๋ฏธ๊ธฐ

style ์†์„ฑ์„ ์‚ฌ์šฉํ•ด์„œ ๊พธ๋ฐ€ ์ˆ˜ ์žˆ๋‹ค.

 

โœ” div ์Šคํƒ€์ผ๋ง ๋ฐฉ๋ฒ•

โ—ผ margin: ํƒœ๊ทธ์™€ ์™ธ๋ถ€์˜ ์ƒํ•˜์ขŒ์šฐ ์—ฌ๋ฐฑ

โ—ผ padding: ํƒœ๊ทธ ๋‚ด๋ถ€์˜ ์ƒํ•˜์ขŒ์šฐ ์—ฌ๋ฐฑ

โ—ผ border: ํ…Œ๋‘๋ฆฌ (๋‘๊ป˜, ์ข…๋ฅ˜, ์ƒ‰์ƒ)

โ—ผ border-radius: ํ…Œ๋‘๋ฆฌ ๋‘ฅ๊ธ€๊ฒŒ (๋‘๊ป˜)

โ—ผ box-shadow: ๋ฐ•์Šค์— ๊ทธ๋ฆผ์ž ์ฃผ๊ธฐ (x, y, ์ƒ‰์ƒ)

โ—ผ display: block์ด ๊ธฐ๋ณธ์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ๋‹ค.

   โ— display: block์€ ๊ฐ€๋กœํ–‰์„ ์ „๋ถ€ ์ฐจ์ง€ํ•œ๋‹ค.

โ—ผ ์ผ๋ถ€ ์Šคํƒ€์ผ์€ inherit(์ƒ์†)๋œ๋‹ค. -> ๋ถ€๋ชจ ํƒœ๊ทธ์˜ ์Šคํƒ€์ผ์ด ์ž์‹ ํƒœ๊ทธ์—๋„ ์ ์šฉ๋œ๋‹ค.

  โ— font-size, color...

 

โœ” ๊ธ€์ž ์Šคํƒ€์ผ๋ง ๋ฐฉ๋ฒ•

โ—ผ ํฐํŠธ ์‚ฌ์ด์ฆˆ - font-size: 16px 

โ—ผ ํฐํŠธ ์ข…๋ฅ˜ - font-family : 'gulim' 

โ—ผ ํฐํŠธ ์ƒ‰์ƒ - color: red 

โ—ผ ์ž๊ฐ„ ๊ฐ„๊ฒฉ - letter-spacing: 1px 

โ—ผ ์ •๋ ฌ - text-align: center 

โ—ผ ๊ธ€์ž ๊ตต๊ธฐ - font-weight: 100~900 

โ—ผ idth, height ์ด์ƒ ๋„˜์–ด๊ฐ€๋Š” ๋งŒํผ ์Šคํฌ๋กค๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ - overflow-y: scroll

โ—ผ ์ผ๋ถ€ ์Šคํƒ€์ผ๋ง

<p><span style="color: red">Kafka</span>๋Š” ๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค ํ”„๋กœ์ ํŠธ์ด๋‹ค.</p>

โœ” ๋ชจ๋“  ๋ฐฉ๋ฒ•์„ ์™ธ์šฐ๋Š” ๊ฒƒ๋ณด๋‹ค ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ๊ฒ€์ƒ‰ํ•ด์„œ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค.

 

๐Ÿ“’ CSS ํŒŒ์ผ ์ ์šฉํ•˜๊ธฐ

โ— style ์†์„ฑ์„ css ํŒŒ์ผ๋กœ ๋งŒ๋“ค์–ด์„œ ํƒœ๊ทธ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โœ” header ํƒœ๊ทธ ์•ˆ์— <link href="css ํŒŒ์ผ ๊ฒฝ๋กœ"> ์ž…๋ ฅ ํ›„, rel ์†์„ฑ์œผ๋กœ "stylesheet" ์ž…๋ ฅ

<head>
   <meta charset="UTF-8" />
   <title>Document</title>
   <link href="css/profile.css" rel="stylesheet" />
</head>

โœ” .css ํŒŒ์ผ ์•ˆ์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•œ๋‹ค.

.profile_image {
  width: 200px;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

โœ” class ์†์„ฑ์— ํ•ด๋‹น ํด๋ž˜์Šค ์ด๋ฆ„์„ ๋„ฃ์–ด์ค€๋‹ค.

 <img class="profile_image" src="html_part_1_img.png" />

 

๐Ÿ’ฅ CSS ์„ ํƒ์ž(selector)

1. ํƒœ๊ทธ ์„ ํƒ์ž

{tag_name} {
  ~~~
}

2. ํด๋ž˜์Šค ์„ ํƒ์ž

.{class_name} {
  ~~~
}

3. ์•„์ด๋”” ์„ ํƒ์ž

#{id_name} {
   ~~~
}

โ—ผ ํด๋ž˜์Šค ์„ ํƒ์ž vs ์•„์ด๋”” ์„ ํƒ์ž: ํ˜„์žฌ๋Š” ํด๋ž˜์Šค ์„ ํƒ์ž๋ฅผ css ์ ์šฉ์— ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

โ—ผ Css ์ ์šฉ ์šฐ์„  ์ˆœ์œ„: style ์†์„ฑ > ์•„์ด๋”” > ํด๋ž˜์Šค > ํƒœ๊ทธ

โ—ผ selector ๋ฌธ๋ฒ• ์ค‘ ๊ณต๋ฐฑ์„ ๋„ฃ์œผ๋ฉด ~ ์•ˆ์— ์žˆ๋Š” ๋ชจ๋“  ์ž์‹ ํƒœ๊ทธ์— style์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค.

.navbar li {
  display: inline-block;
}

โ—ผ selector ๋ฌธ๋ฒ• ์ค‘ >์„ ๋„ฃ์œผ๋ฉด ~ ์•ˆ์— ์žˆ๋Š” ์ง๊ณ„ ์ž์‹ ํƒœ๊ทธ์— style์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค.

.navbar>li {
  display: inline-block;
}

 

๐Ÿ“’ ๋ ˆ์ด์•„์›ƒ ๋งŒ๋“ค๊ธฐ

div ํƒœ๊ทธ๋Š” default๋กœ display: block์ด๊ธฐ ๋•Œ๋ฌธ์—, ๋ชจ๋“  ํ–‰์„ ๋‹ค ์ฐจ์ง€ํ•ด ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ์ค‘๋ณต ์ž…๋ ฅํ•˜๋ฉด ์•„๋ž˜๋กœ ์‚ฝ์ž… ๋œ๋‹ค.

 

โœ” float ์‚ฌ์šฉ

โ—ผ float: left -> width ๋งŒํผ ๋ถ• ๋– ์„œ ์™ผ์ชฝ์— ๋”ฑ ๋ถ™์ธ๋‹ค.

โ—ผ float: right-> width ๋งŒํผ ๋ถ• ๋– ์„œ ์˜ค๋ฅธ์ชฝ์— ๋”ฑ ๋ถ™์ธ๋‹ค.

โ—ผ clear: both-> float ๋‹ค์Œ ์†์„ฑ์— ๋„ฃ์œผ๋ฉด, ๋ถ• ๋œฌ ๋ถ€๋ถ„ ์•„๋ž˜์— ๋ฐฐ์น˜์‹œํ‚จ๋‹ค.

   โ— float๋ฅผ ์‚ฌ์šฉํ•œ ๋‹ค์Œ ์†์„ฑ์— ๋ณดํ†ต ์ ์šฉํ•œ๋‹ค.

.header {
  width: 100%;
  height: 150px;
  background-color: aquamarine;
}

.left-menu {
  width: 30%;
  height: 500px;
  background-color: blue;
  float: left;
}

.right-menu {
  width: 60%;
  height: 500px;
  background-color: crimson;
  float: right;
}

.footer {
  width: 100%;
  height: 150px;
  background-color: gray;
  clear: both;
}

 

โœ” inline์‚ฌ์šฉ

โ—ผ display: inline-block -> ๋‚ด ํฌ๊ธฐ ๋งŒํผ๋งŒ ์ฐจ์ง€ํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค. 

๐Ÿ’ฅ inline-block์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ <div />(1) <div />(2) ๋‘ ํƒœ๊ทธ ์‚ฌ์ด์˜ '  ',  '/n'์ด ์กด์žฌํ•˜๋ฉด, 1๋ฒˆ ํƒœ๊ทธ์˜ width=30%, 2๋ฒˆ ํƒœ๊ทธ์˜ width=70%์ผ ๊ฒฝ์šฐ ๊ณต๋ฐฑ์ด๋‚˜ ์—”ํ„ฐ๋กœ ์ธํ•ด 2๋ฒˆ ํƒœ๊ทธ๊ฐ€ ์•„๋ž˜๋กœ ๋‚ด๋ ค๊ฐ€์ง„๋‹ค.

   โ— ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•: ๋ถ€๋ชจ ํƒœ๊ทธ์— font-size=0์„ ์ ์šฉํ•œ๋‹ค.

๐Ÿ’ฅ inline-block์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ div ํƒœ๊ทธ ์•ˆ์— ๊ธ€์”จ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ๊ฐ€๋กœ ๋ฐฐ์—ด์ด ๊นจ์ง€๊ฒŒ ๋œ๋‹ค. -> inline-block ์š”์†Œ ๋“ค์ด baseline ์œ„๋กœ ์˜ค๋ ค๊ณ  ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

   โ— ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•: vertical-align(์ƒํ•˜ ์ •๋ ฌ): top ์˜ต์…˜์„ ์ ์šฉํ•œ๋‹ค. (์œ„๋กœ ์ •๋ ฌํ•œ๋‹ค.)

.container {
  width: 100%;
  font-size: 0;
}

.header {
  width: 100%;
  height: 150px;
  background-color: aquamarine;
}

.left-menu {
  width: 30%;
  height: 500px;
  background-color: blue;
  display: inline-block;
}

.right-menu {
  width: 70%;
  height: 500px;
  background-color: crimson;
  display: inline-block;
  font-size: 20px;
  vertical-align: top;
}

.footer {
  width: 100%;
  height: 150px;
  background-color: gray;
}

body {
  margin: 0;
  padding: 0;
}

 

โœ” flex ์‚ฌ์šฉ

โ—ผ ๋ฐ•์Šค ๊ฐ€๋กœ ๋ฐฐ์น˜๊ฐ€ ์‰ฌ์›Œ์ง„๋‹ค.

โ—ผ ๋ถ€๋ชจ ํƒœ๊ทธ์— display: flex ์˜ต์…˜์„ ์ค€๋‹ค.

โ—ผ ์ž์‹ ํƒœ๊ทธ์˜ width๋ฅผ ์„ค์ •ํ•˜๋ฉด, ์ตœ๋Œ€ํ•œ ํ•ด๋‹น width๋ฅผ ์ฐจ์ง€ํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•  ๋ฟ ์ •๋ง ๊ทธ ์‚ฌ์ด์ฆˆ๋ฅผ ๊ฐ€์ง€์ง„ ์•Š๋Š”๋‹ค.

โ—ผ justify-content(๋ถ€๋ชจ) ์˜ต์…˜์œผ๋กœ ์ž์‹ ์š”์†Œ๋“ค์—๊ฒŒ ์ •๋ ฌ์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค.

   โ— justify-content: flex-start -> ์šฐ์ธก ์ •๋ ฌ

   โ— justify-content: center -> ๊ฐ€์šด๋ฐ ์ •๋ ฌ

   โ— justify-content: flex-end -> ์ขŒ์ธก ์ •๋ ฌ

โ—ผ flex-direction: column(๋ถ€๋ชจ)์œผ๋กœ ์„ธ๋กœ ๋ฐฐ์น˜๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

โ—ผ flex-wrap:wrap(๋ถ€๋ชจ) ๊ฐ€๋กœ๋ฅผ ๋„˜์–ด๊ฐ€๋ฉด ์ตœ๋Œ€ํ•œ ์ฐจ์ง€ํ•˜๊ฒŒ ํ•˜์ง€ ์•Š๊ณ  ์•„๋ž˜๋กœ ๋‚ด๋ ค๋ณด๋‚ธ๋‹ค.

โ—ผ align-items(๋ถ€๋ชจ) ์ƒํ•˜ ์ •๋ ฌ ์˜ต์…˜

โ—ผ flex-grow(์ž์‹) ์š”์†Œ์˜ ๋ฐ•์Šค ํฌ๊ธฐ๋ฅผ ๋น„์œจ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โœ” grid์‚ฌ์šฉ

โ—ผ ๋ ˆ์ด์•„์›ƒ์„ ๋” ์‰ฝ๊ฒŒ ์žก์„ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค.

โ—ผ ๋ชจ๋ˆˆ ์ข…์ด๋ฅผ ๊ทธ๋ ค ์ƒ‰์น ํ•˜๋Š” ์‹์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค.

โ—ผ div ๋ฐ•์Šค๋ฅผ ์ž์œ ๋กญ๊ฒŒ ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

โ—ผ Edge ์ด์ƒ์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

/* 1๋ฒˆ ๋ฐฉ๋ฒ• */
.grid-container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 100px 100px 100px 100px;
}

.grid-container div {
  border: 1px solid black;
}

.header {
  grid-column: 1 / 4;
}

.sidebar {
  grid-row: 2 / 5;
}

/* 2๋ฒˆ ๋ฐฉ๋ฒ• */
.grid-container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 100px 100px 100px 100px;
  grid-template-areas:
    "ํ—ค๋” ํ—ค๋” ํ—ค๋” ํ—ค๋”"
    "์‚ฌ์ด๋“œ . . ."
    "์‚ฌ์ด๋“œ . . .";
}

.grid-container div {
  border: 1px solid black;
}

.header {
  grid-area: ํ—ค๋”;
}

.sidebar {
  grid-area: ์‚ฌ์ด๋“œ;
}
<body>
<div class="grid-container">
  <div class="header"></div>
  <div class="sidebar"></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
</div>
</body>

โ—ผ ๋ถ€๋ชจ div์— display: grid๋ฅผ ์ฃผ๋ฉด, ์ž์‹๋“ค์€ ๋ชจ๋ˆˆ์ข…์ด๊ฐ€ ๋œ๋‹ค.

โ—ผ ๋ถ€๋ชจ div์— grid-template-columns ์†์„ฑ์„ ์„ค์ •ํ•˜๋ฉด ์—ด์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

โ—ผ ๋ถ€๋ชจ div์— grid-template-rows ์†์„ฑ์„ ์„ค์ •ํ•˜๋ฉด ํ–‰์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

โ—ผ ์œ„ ์ฝ”๋“œ์—์„œ๋Š” 4ํ–‰ 3์—ด๋กœ ์ƒ์„ฑ๋œ๋‹ค.

โ—ผ fr ๋‹จ์œ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํญ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ๋ฐฐ์ˆ˜๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์œ„ ์ฝ”๋“œ์—์„œ๋Š” ์ „์ฒด ํญ์—์„œ 1๋ฐฐ์ˆ˜์”ฉ ์ฐจ์ง€ํ•˜๋ผ๊ณ  ์ง€์ •ํ•œ๋‹ค.

โ—ผ grid-gap ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฉ์ž ๊ฐ„์˜ ๊ฐ„๊ฒฉ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โœจ Grid ๊ณต๊ฐ„ ๋‚˜๋ˆ„๊ธฐ 1๋ฒˆ ๋ฐฉ๋ฒ•

โ—ผ grid-column ์†์„ฑ์€ grid ์ž์‹์—๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, 1 / 4์ผ ๊ฒฝ์šฐ์—๋Š” ์„ธ๋กœ์„  1๋ฒˆ ๋ถ€ํ„ฐ 4๋ฒˆ๊นŒ์ง€ 1๊ฐœ๋กœ ๋งŒ๋“ค์–ด๋‹ฌ๋ผ๋Š” ์˜๋ฏธ์ด๋‹ค. ์œ„ ๊ฒฉ์ž๋ฅผ ๋ณด๋ฉด ์„ธ๋กœ์„  4๊ฐœ์— ๊ฐ€๋กœ์„  5๊ฐœ๊ฐ€ ์žˆ๋‹ค.

โ—ผ grid-row์†์„ฑ์€ grid ์ž์‹์—๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, 2 / 5์ผ ๊ฒฝ์šฐ์—๋Š” ๊ฐ€๋กœ์„  2๋ฒˆ ๋ถ€ํ„ฐ 5๋ฒˆ๊นŒ์ง€ 1๊ฐœ๋กœ ๋งŒ๋“ค์–ด๋‹ฌ๋ผ๋Š” ์˜๋ฏธ์ด๋‹ค. 

 

โœจ Grid ๊ณต๊ฐ„ ๋‚˜๋ˆ„๊ธฐ 2๋ฒˆ ๋ฐฉ๋ฒ•

โ—ผ grid-area๋กœ ์ž์‹์—๊ฒŒ ์ด๋ฆ„์„ ๋ถ™์—ฌ์ค€๋‹ค.

โ—ผ grid-template-areas ์†์„ฑ์œผ๋กœ grid ๋ถ€๋ชจ์—๊ฒŒ ์˜์—ญ์„ ์‹ค์ œ ํ• ๋‹นํ•˜๋“ฏ์ด ์ž‘์„ฑํ•œ๋‹ค.

 

๐Ÿ’ฅ 1๋ฒˆ 2๋ฒˆ ๋ชจ๋‘ ์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋„์ถœ๋œ๋‹ค.

 

๐Ÿ“’ Pseudo-class / Pseudo-element

โœ” pseudo-class

ํŠน์ • ์š”์†Œ๊ฐ€ ๋‹ค๋ฅธ ์ƒํƒœ์ผ ๋•Œ, ์Šคํƒ€์ผ ์ค„ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค.

.pseudo:hover {
  color: red;
}

โ—ผ class="pseudo" ์š”์†Œ์— ๋งˆ์šฐ์Šค๋ฅผ ๊ฐ€์ ธ๋‹ค ๋Œ€๋ฉด, ์ƒ‰๊น”์ด ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ๋ณ€๊ฒฝ๋œ๋‹ค.

 

โœ” pseudo-element

๋‚ด๋ถ€์˜ ์ผ๋ถ€๋ถ„๋งŒ ์Šคํƒ€์ผ ์ค„ ๋•Œ, ์‚ฌ์šฉํ•œ๋‹ค.

.pseudo::first-letter {
  color: red;
  font-size: 30px;
}

โ—ผ class="pseudo" ์š”์†Œ์˜ ์ฒซ ๊ธ€์ž๋งŒ ์ƒ‰์ƒ์€ ๋นจ๊ฐ„์ƒ‰, ๊ธ€์ž ํฌ๊ธฐ๋Š” 30px๋กœ ๋ณ€๊ฒฝ๋œ๋‹ค.

.pseudo::before {
  content: '์˜ˆ์ œ1';
}

.pseudo::after {
  content: '์˜ˆ์ œ2';
}

 

โ—ผ before: class="pseudo" ์š”์†Œ์˜ ์•ž ๋ถ€๋ถ„์— "์˜ˆ์ œ1"์ด ์ถ”๊ฐ€๋œ๋‹ค. 

โ—ผ after: class="pseudo" ์š”์†Œ์˜ ๋’ท ๋ถ€๋ถ„์— "์˜ˆ์ œ2"๊ฐ€ ์ถ”๊ฐ€๋œ๋‹ค.

 

.input-file::file-selector-button {
  background-color: skyblue;
  border: none;
}

.input-file::file-selector-button:hover {
  background-color: red;
}

โ—ผ pseudo-element๋ฅผ ์‚ฌ์šฉํ•ด์„œ, input ํƒœ๊ทธ์˜ file ๋ฒ„ํŠผ์„ ์ˆ˜์ •ํ• ์ˆ˜๋„ ์žˆ๋‹ค.

โ—ผ hover๋„ ์—ฐ์†์ ์œผ๋กœ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ“’ Shadow-Dom

โ—ผ input ํƒœ๊ทธ์˜ file ํƒ€์ž…์€ ๋ฒ„ํŠผ๊ณผ ๊ธ€์ž 2๊ฐœ๊ฐ€ ๋™์‹œ์— ์ƒ์„ฑ๋˜๊ณ , ์ด๋Š” Shadow-Dom์œผ๋กœ ์ธํ•ด ์ƒ์„ฑ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

โ—ผ ๊ฐœ๋ฐœ์ž์˜ ํŽธ์˜๋ฅผ ์œ„ํ•ด์„œ ์ƒ๊ฒจ๋‚ฌ๋‹ค.

โ—ผ ํฌ๋กฌ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ์˜ ์„ค์ •์—์„œ Show user agent shadow DOM์„ ์„ ํƒํ•˜๋ฉด ์œ„์™€ ๊ฐ™์ด ์ˆจ๊ฒจ์ง„ ์š”์†Œ๋“ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โœ” shadow-dom ๋‚ด์˜ ์š”์†Œ ๊พธ๋ฏธ๊ธฐ

<input type="file" style="color: red" />

โ—ผ ์œ„์™€ ๊ฐ™์ด color: red๋ฅผ ๋„ฃ์–ด๋„, ๊ธ€์ž๋งŒ ๋ณ€๊ฒฝ๋œ๋‹ค.

โ—ผ ์ด๋Ÿด ๋•Œ, pseudo-element๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์Šคํƒ€์ผ๋งํ•  ์ˆ˜ ์žˆ๋‹ค.

 

input[type="file"]::-webkit-file-upload-button {
  background-color: black;
  color: white;
}

โ—ผ ์œ„์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ, input ํƒœ๊ทธ ๋‚ด๋ถ€์˜ ์š”์†Œ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

โ—ผ -webkit-์€ ํฌ๋กฌ, ์‚ฌํŒŒ๋ฆฌ, Edge์—์„œ๋งŒ ์ ์šฉ๋˜๋Š” ์Šคํƒ€์ผ์„ ์˜๋ฏธํ•œ๋‹ค.

โ—ผ -moz-๋Š” Firefox์—์„œ๋งŒ ์ ์šฉ๋˜๋Š” ์Šคํƒ€์ผ์„ ์˜๋ฏธํ•œ๋‹ค.

 

โœ” ์š”์ฆ˜์˜ input file ํƒœ๊ทธ ๊พธ๋ฏธ๊ธฐ

<label for="input-file">ํŒŒ์ผ ์—…๋กœ๋“œ</label>
<input id="input-file" type="file" style="display: none" />

โ—ผ label ํƒœ๊ทธ๋ฅผ ํ™œ์šฉํ•˜์—ฌ, ์‹ค์ œ input file ํƒœ๊ทธ๋Š” display: none์„ ์ ์šฉํ•˜๊ณ  label ํƒœ๊ทธ๋ฅผ ๊พธ๋ฉฐ์„œ ์‚ฌ์šฉํ•œ๋‹ค.

 

โœ” input range ํƒœ๊ทธ ๊พธ๋ฏธ๊ธฐ

input[type="range"] {
  appearance: none;
}

input[type="range"]::-webkit-slider-thumb {
  appearance: none;
  background-color: red;
  width: 50px;
  height: 50px;
}

โ—ผ appearance: none์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๊ธฐ๋ณธ ๋ธŒ๋ผ์šฐ์ €์˜ css๋ฅผ ํ™œ์šฉํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด์„œ ์ ์šฉํ•œ๋‹ค.

 

๐Ÿ“’ Video ์‚ฌ์šฉํ•˜๊ธฐ

// 1๋ฒˆ
<video src="{๋น„๋””์˜ค source}" controls></video>

// 2๋ฒˆ
<video controls autoplay muted preload="{์†์„ฑ}" poster="{์ด๋ฏธ์ง€ ๊ฒฝ๋กœ}" loop>
  <source src="~.mp4" type="video/m4" />
  <source src="~-m.webm" type="video/m4" />
</video>

โ—ผ controls ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ๋น„๋””์˜ค ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์ƒ์„ฑ๋˜์–ด, ๋น„๋””์˜ค๋ฅผ ์žฌ์ƒ ๋ฐ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๋‹ค.

โ—ผ autoplay๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ๋น„๋””์˜ค๊ฐ€ ์ž๋™์žฌ์ƒ ๋œ๋‹ค. 

โ—ผ muted๋ฅผ autoplay์™€ ํ•จ๊ป˜ ์ถ”๊ฐ€ํ•ด์•ผ ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ € ์ƒ์—์„œ ์ž๋™ ์žฌ์ƒ ๋œ๋‹ค.

โ—ผ preload๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ๋น„๋””์˜ค๋ฅผ ๋ฏธ๋ฆฌ ๋ฐ›์„์ง€ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. (none: ๋ฏธ๋ฆฌ ๋‹ค์šด X, auto: ๋ฏธ๋ฆฌ ๋‹ค์šด, metadata: ๋ฏธ๋ฆฌ ์ ๋‹นํžˆ ๋‹ค์šด(์ธ๋„ค์ผ, ์ดˆ๋ฐ˜ ๋ช‡ ํ”„๋ ˆ์ž„))

โ—ผ poster๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ์ธ๋„ค์ผ ์ด๋ฏธ์ง€๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

โ—ผ loop์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฌดํ•œ ๋ฐ˜๋ณต ์žฌ์ƒ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

โ—ผ source ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ธŒ๋ผ์šฐ์ €๋งˆ๋‹ค ์ง€์›ํ•˜๋Š” ํ™•์žฅ์ž๊ฐ€ ๋‹ฌ๋ผ, ์œ„์˜ ํƒœ๊ทธ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์•ˆ๋˜๋ฉด ์•„๋ž˜ ํƒœ๊ทธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ํ˜ธํ™˜์„ฑ์„ ์ฑ™๊ธธ ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.

'Web > Html&Css' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

SASS ์‚ฌ์šฉ๋ฒ•  (0) 2023.04.21
Html&CSS ์œ ์šฉํ•œ ๋ฐฉ๋ฒ•๋“ค  (0) 2023.04.21
๋ฐ˜์‘ํ˜• ๋ ˆ์ด์•„์›ƒ  (0) 2023.04.01