CSS ๋ณ€์ˆ˜

Frontend SELF KO
๋ ˆ๋ฒจ 13 , ๋ ˆ์Šจ 4
์‚ฌ์šฉ ๊ฐ€๋Šฅ

10.1 ๋ณ€์ˆ˜ ์„ ์–ธ

CSS ๋ณ€์ˆ˜(๋˜๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ์†์„ฑ(CSS Custom Properties))๋Š” ๊ฐœ๋ฐœ์ž๋“ค์ด ๊ฐ’๋“ค์„ ํ•œ ๊ณณ์— ์ €์žฅํ•˜๊ณ  ๋ฌธ์„œ ๋‚ด์—์„œ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค˜. ์ด ๊ธฐ๋Šฅ์€ ํŠนํžˆ ํฐ ํ”„๋กœ์ ํŠธ์—์„œ CSS๋ฅผ ๋” ์œ ์—ฐํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์–ด์ค˜.

๋ณ€์ˆ˜ ์„ ์–ธ

CSS์—์„œ ๋ณ€์ˆ˜๋Š” ๋ณ€์ˆ˜๊ฐ€ ์„ ์–ธ๋  ๋•Œ ๋‘ ๊ฐœ์˜ ๋Œ€์‹œ (--)๋กœ ์‹œ์ž‘ํ•ด. ์ผ๋ฐ˜์ ์œผ๋กœ ์ด ๋ณ€์ˆ˜๋“ค์€ :root ์„ ํƒ์ž ์•ˆ์— ์„ ์–ธ๋ผ์„œ ๋ฌธ์„œ ์ „์ฒด์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด.

๊ตฌ๋ฌธ:

    
      :root {
        --๋ณ€์ˆ˜-์ด๋ฆ„: ๊ฐ’;
        --๋ณ€์ˆ˜-์ด๋ฆ„: ๊ฐ’;
      }
    
  

์˜ˆ:

์ด ์˜ˆ์—์„œ๋Š” ์„ธ ๊ฐœ์˜ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ–ˆ์–ด: --main-color, --secondary-color, ๊ทธ๋ฆฌ๊ณ  --font-size.

    
      :root {
        --main-color: #3498db;
        --secondary-color: #2ecc71;
        --font-size: 16px;
      }
    
  

10.2 ๋ณ€์ˆ˜ ์‚ฌ์šฉ

๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” var() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด, ์ด ํ•จ์ˆ˜๋Š” ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ์ธ์ˆ˜๋กœ ๋ฐ›์•„.

๊ตฌ๋ฌธ:

    
      ์„ ํƒ์ž {
        ์†์„ฑ: var(--๋ณ€์ˆ˜-์ด๋ฆ„);
        ์†์„ฑ: var(--๋ณ€์ˆ˜-์ด๋ฆ„);
      }
    
  

์˜ˆ:

์ด ์˜ˆ์—์„œ๋Š” ์ด์ „์— ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ <body> ์š”์†Œ์˜ ๋ฐฐ๊ฒฝ, ํ…์ŠคํŠธ ์ƒ‰์ƒ ๋ฐ ๊ธ€๊ผด ํฌ๊ธฐ๋ฅผ ์Šคํƒ€์ผ๋ง ํ•ด.

CSS
    
      body {
        background-color: var(--main-color);
        color: var(--secondary-color);
        font-size: var(--font-size);
      }
    
  

10.3 ๋ณ€์ˆ˜์˜ ์ƒ์† ๋ฐ ์žฌ์ •์˜

CSS ๋ณ€์ˆ˜๋Š” ์š”์†Œ์˜ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๋”ฐ๋ผ ์ƒ์†๋ผ. ์ฆ‰, ํ•œ ์š”์†Œ์— ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋ฅผ ๊ทธ์˜ ์ž์‹ ์š”์†Œ๋“ค๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฑฐ์•ผ. ๋ณ€์ˆ˜๋“ค์€ ๋‹ค๋ฅธ ์„ ํƒ์ž ๋‚ด์—์„œ ๋‹ค์‹œ ์ •์˜ํ•  ์ˆ˜๋„ ์žˆ์–ด.

์˜ˆ:

์ด ์˜ˆ์—์„œ .header ์š”์†Œ๋Š” --main-color ๋ณ€์ˆ˜๋ฅผ ์žฌ์ •์˜ ํ•˜๊ณ , ์ด ์ƒˆ๋กœ์šด ๋ณ€์ˆ˜๋Š” ๋‹จ์ง€ ์ด ์š”์†Œ์—๋งŒ ์ ์šฉ๋ผ. ๋™์‹œ์—, .footer ์š”์†Œ๋Š” :root์— ์„ ์–ธ๋œ ๋ณ€์ˆ˜ ๊ฐ’์„ ์‚ฌ์šฉํ•ด.

HTML
    
      <div class="header">Header</div>
      <div class="footer">Footer</div>
    
  
CSS
    
      :root {
        --main-color: #3498db;
      }

      .header {
        --main-color: #e74c3c;
        background-color: var(--main-color);
      }

      .footer {
        background-color: var(--main-color);
      }
    
  

10.4 CSS ๋ณ€์ˆ˜ ์‚ฌ์šฉ์˜ ์žฅ์ 

1. ์Šคํƒ€์ผ ๊ด€๋ฆฌ ๊ฐ„์†Œํ™”:

๋ณ€์ˆ˜๋“ค์„ ์‚ฌ์šฉํ•˜๋ฉด ํ•œ ์œ„์น˜์—์„œ ํ•˜๋‚˜์˜ ์†์„ฑ ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๊ณ , ์ด ๋ณ€๊ฒฝ์€ ๋ณ€์ˆ˜๊ฐ€ ์‚ฌ์šฉ๋œ ๋ชจ๋“  ์žฅ์†Œ์— ์ž๋™์œผ๋กœ ์ ์šฉ๋ผ. ์ด๋Š” ํŠนํžˆ ํ…Œ๋งˆํ™” ๋ฐ ์ผ๊ด€๋œ ์Šคํƒ€์ผ ์œ ์ง€์— ์œ ์šฉํ•ด.

2. ์ฝ”๋“œ ๊ฐ€๋…์„ฑ ๋ฐ ์œ ์ง€๋ณด์ˆ˜ ํ–ฅ์ƒ:

๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด CSS ์ฝ”๋“œ๊ฐ€ ๋” ์ฝ๊ธฐ ์‰ฝ๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์›Œ์ ธ. ์™œ๋ƒํ•˜๋ฉด ์ƒ‰์ƒ์ด๋‚˜ ํฌ๊ธฐ ๊ฐ™์€ ๊ฐ’์„ ์„ค๋ช…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด์•ผ, ์˜ˆ๋ฅผ ๋“ค์–ด ์ƒ‰์ƒ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•ด ์˜๋ฏธ ์žˆ๋Š” ์ด๋ฆ„์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์–ด (--main-color ๋Œ€์‹ ์— #3498db).

3. ์Šคํƒ€์ผ์˜ ๋™์  ์—…๋ฐ์ดํŠธ:

๋ณ€์ˆ˜๋“ค์€ JavaScript๋ฅผ ํ†ตํ•ด ๋™์ ์œผ๋กœ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์–ด์„œ ๋” ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒํ•˜๊ณ  ๋™์ ์ธ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์–ด.

์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION