๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ป ํ”„๋กœ์ ํŠธ/๐Ÿ‘‘ VIP ์ดˆ๋Œ€์žฅ ๐Ÿ’Œ

[Spring, React] jsx์™€ css ํŒŒ์ผ ์—ฐ๊ฒฐ, ์—ฐ๊ฒฐ๋œ css๊ฐ€ ์•„๋‹ˆ์–ด๋„ jsx ํŽ˜์ด์ง€์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ๊ฒฝ์šฐ

by ._.sori 2026. 3. 17.

 

 

๊ณ ๊ฐ ๊ด€๋ฆฌ ํŽ˜์ด์ง€๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ
๊ด€๋ฆฌ์ž ๊ด€๋ฆฌ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค๊ณ  ์žˆ๋‹ค.
๋ถ„๋ช… ๊ฐ ํŽ˜์ด์ง€์— css ํŒŒ์ผ์„ ๋‹ค๋ฅด๊ฒŒ ์—ฐ๊ฒฐ์‹œ์ผฐ๋Š”๋ฐ,
์™œ ์ˆ˜์ •์ด ๋™์‹œ์— ๋˜๋Š”๊ฑธ๊นŒ?

 

 

 

 

 

1. ํ™”๋ฉด

์•„๋ž˜์™€ ๊ฐ™์€ ํ™”๋ฉด์„ ๋งŒ๋“ค์—ˆ๋‹ค. ์•„๋ž˜ ํŽ˜์ด์ง€๋Š” ๊ด€๋ฆฌ์ž๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํŽ˜์ด์ง€ ์ค‘ ๊ฒ€์ƒ‰์ฐฝ ํ™”๋ฉด์ด๋‹ค. ์ด ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ, ์ „์— ๋ฏธ๋ฆฌ ๋งŒ๋“ค์—ˆ๋˜ ๊ณ ๊ฐ ๊ด€๋ฆฌ ํŽ˜์ด์ง€์˜ ๊ฒ€์ƒ‰์ฐฝ ์ฝ”๋“œ๋ฅผ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์™”๋‹ค.

 

 

 


 

 

 

 

2. ๋ฌธ์ œ์™€ ์›์ธ

  • ๋ฌธ์ œ
    ๊ณ ๊ฐ ๊ด€๋ฆฌ ํŽ˜์ด์ง€ ์ค‘ ๊ฒ€์ƒ‰์„ ๋‹ด๋‹นํ•˜๋Š” jsx๋Š” CustomerAdd.jsx์ด๋‹ค. ์ด jsx๋Š” CustomerTable.css์™€ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ด€๋ฆฌ์ž ๊ด€๋ฆฌ ํŽ˜์ด์ง€ ์ค‘ ๊ฒ€์ƒ‰์„ ๋‹ด๋‹นํ•˜๋Š” jsx๋Š” AdminAdd.jsx์ด๋‹ค. ์ด jsx๋Š” PermissionSetting.css์™€ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋‹ค.

    ๊ทธ๋Ÿฐ๋ฐ PermissionSetting.css๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด CustomerAdd.jsx์™€ AdminAdd.jsx๊ฐ€ ๋™์‹œ์— ํ™”๋ฉด ๋ณ€๊ฒฝ์ด ์ด๋ค„์ง€๋Š” ๊ฑธ ๋ฐœ๊ฒฌํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋ฐ˜๋Œ€๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์˜€๋‹ค. CustomerTable.css๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด CustomerAdd.jsx์™€ AdminAdd.jsx ๋ชจ๋‘ ์ˆ˜์ •๋˜์—ˆ๋‹ค.


  • ์›์ธ
    CSS๊ฐ€ ์ „์—ญ์œผ๋กœ ์„ค์ •๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•ด๋ณด๊ฒ ๋‹ค. search-title์ด๋ž€ ํด๋ž˜์Šค๋ช…์ด CustomerTable.css์— ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž. ๋‚ด๊ฐ€ AdminAdd.jsx๋ฅผ PermissionSetting.css์™€ ์—ฐ๊ฒฐ์‹œ์ผœ๋†จ์–ด๋„ AdminAdd.jsx์— search-title์ด๋ž€ ํด๋ž˜์Šค๋ช…์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉด CustomerTable.css์˜ ์˜ํ–ฅ์„ ๋ฐ›๊ฒŒ๋œ๋‹ค.(๋ฐ˜๋Œ€๋„ ๋งˆ์ฐฌ๊ฐ€์ง€) ๊ทธ ์ด์œ ๊ฐ€ CSS๊ฐ€ ์ „์—ญ์œผ๋กœ ์„ค์ •ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

 


 

 

 

 

3. ํ•ด๊ฒฐ๋ฐฉ๋ฒ•

  • ํด๋ž˜์Šค๋ช…์„ ํŽ˜์ด์ง€๋งˆ๋‹ค ๋‹ค๋ฅด๊ฒŒ ๋ณ€๊ฒฝ
    .search-title์„ ๋™์ผํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , admin-search-title๋กœ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์ด๋‹ค.

  • ๋ถ€๋ชจ ๋ฒ”์œ„๋ฅผ ๋ถ™์—ฌ์„œ ๋ฒ”์œ„ ์ œํ•œ
    .permission-page .search-title {...} ํ˜น์€ .cutomer-page .search-title {...} ์ด๋Ÿฐ์‹์œผ๋กœ ์–ด๋А ํŽ˜์ด์ง€์—์„œ ์“ฐ๋Š”์ง€ ๋ฒ”์œ„๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ์ด๋‹ค. ๋งŒ์•ฝ ์ฝ”๋“œ๋ฅผ ๋ชจ๋‘ ์ž‘์„ฑํ•œ ๊ฒฝ์šฐ ๋ถ€๋ชจ ๋ฒ”์œ„๋ฅผ ๋ถ™์—ฌ์„œ ๋ฒ”์œ„ ์ œํ•œ์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๊ฐ€์žฅ ๋œ ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋œ๋‹ค. ์ด๋•Œ permission-page์™€ cutomer-page๋Š” ํ•ด๋‹น css์—์„œ ๋งจ ์œ„์— ์ž‘์„ฑํ•œ ํด๋ž˜์Šค๋ช…์ด ๋œ๋‹ค. (ํŽ˜์ด์ง€์˜ ์ „์ฒด ํฌ๊ธฐ๋ฅผ ์„ค์ •ํ•œ ํด๋ž˜์Šค)

  • CSS Modules๋ฅผ ์‚ฌ์šฉ
    PermissionSetting.css๋ฅผ PermissionSetting.module.css๋กœ ๋งŒ๋“ ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์•„๋ž˜์˜ ์ฝ”๋“œ์ฒ˜๋Ÿผ ํ•ด๋‹น jsx์— ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด ๋œ๋‹ค.
import styles from "./PermissionSetting.module.css";
<div className={styles.searchtitle}>




 


 

 

 

 

4. jsx์— css ํŒŒ์ผ ์—ฐ๊ฒฐ ๋ฐฉ๋ฒ•

์—ฐ๊ฒฐํ•˜๊ณ  ์‹ถ์€ css ํŒŒ์ผ์˜ path๋ฅผ importํ•˜๋ฉด ๋œ๋‹ค.
import "./PermissionSetting.css";