CSS-Module

Sulhwa Choiยท2022๋…„ 10์›” 18์ผ
0

๐Ÿšจ ์—๋Ÿฌ๋ฐœ์ƒ

js๋กœ ๋งŒ๋“  ํŒŒ์ผ์„ react๋กœ ์˜ฎ๊ธฐ๋Š”๋ฐ ๊ฐ™์€ ํด๋ž˜์Šค์ด๋ฆ„์„ ๊ฐ€์ง„ css์Šคํƒ€์ผ์ด ๊ฐ™์ด ์ ์šฉ๋˜๋Š” ๋ฌธ์ œ๋ฐœ์ƒ..!

CSS-Module์ด๋ž€?

  • CSS๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํด๋ž˜์Šค ์ด๋ฆ„์„ ๊ณ ์œ ํ•œ ๊ฐ’์œผ๋กœ ์ž๋™์œผ๋กœ ๋งŒ๋“ค์–ด์„œ ์ปดํฌ๋„ŒํŠธ ์Šคํƒ€์ผ ํด๋ž˜์Šค ์ด๋ฆ„์ด ์ค‘์ฒฉ๋˜๋Š” ํ˜„์ƒ์„ ๋ฐฉ์ง€ํ•ด ์ฃผ๋Š” ๊ธฐ์ˆ 

๐Ÿซง ์‚ฌ์šฉ์ด์œ ?

  1. ํด๋ž˜์Šค๋ช…(className)์ด ์ถฉ๋Œํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ด์ค€๋‹ค.

  2. ์œ ์ง€๋ณด์ˆ˜ํ•˜๊ธฐ ํŽธํ•ด์ง„๋‹ค.

  3. ๊ฐ„๊ฒฐํ•œ ํด๋ž˜์Šค๋ช…์„ ์ด์šฉํ•ด ์ปดํฌ๋„ŒํŠธ ๋‹จ์œ„๋กœ ์Šคํƒ€์ผ์„ ์ ์šฉํ•  ๋•Œ ์œ ์šฉํ•˜๋‹ค.

react์—์„œ ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ์‹œ, ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์˜ css๊ฐ€ ์ž๋…€๋“ค์—๊ฒŒ ๋ชจ๋‘ ์ ์šฉ๋˜์–ด side effect ๋ฐœ์ƒ ํ™•๋ฅ ์ด ๋†’์•„์ง„๋‹ค!

์‚ฌ์šฉ๋ฐฉ๋ฒ•

๊ธฐ์กด ํ”„๋กœ์ ํŠธ์˜ css ํด๋ž˜์Šค์™€ ์ด๋ฆ„์ด ์ค‘๋ณต๋˜์–ด๋„ ์Šคํƒ€์ผ์ด ๊ผฌ์ด์ง€ ์•Š๋„๋ก cssํŒŒ์ผ์˜ ํ™•์žฅ์ž๋ฅผ .module.css๋กœ ๋งŒ๋“ ๋‹ค.
๐Ÿ‘‰ ๋‹ค๋ฅธ ํŒŒ์ผ์ด ๊ฐ™์€ ํด๋ž˜์Šค๋ช…์„ ์‚ฌ์šฉํ•ด๋„ ์ค‘์ฒฉ๋˜์ง€ ์•Š๋Š”๋‹ค.

import React from "react";
import styles from "./Box.module.css";

const CSSModule = () => {
  return (
    <div className={styles.Box}>
      Box
    </div>
  );
};

export default Box;

---------------------------------------------

<button className={`${style.buttonColor} ${style.fontColor}`}>๋ฒ„ํŠผ</button>
//์—ฌ๋Ÿฌ๊ฐœ์˜ ํด๋ž˜์Šค ์ ์šฉ ์‹œ ๋ฐฑํ‹ฑ ์‚ฌ์šฉ

๐Ÿ“ .module.css ํ™•์žฅ์ž๋กœ ํŒŒ์ผ์„ ์ €์žฅ
๐Ÿ“ import styles from "CSS module ํด๋ž˜์Šค๋ช…"

profile
๊ฐœ๋ฐœ ๊ณต๋ถ€ ์ค‘ ใ€ฐ๏ธ ูฉ(เน‘โ€ขฬ€oโ€ขฬเน‘)ูˆ โœจ

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