Today I learned ์นดํ ๊ณ ๋ฆฌ์ ์๊ธด ํ์ง๋ง Today์ ๋ฐฐ์ด๊ฑด ์๋๊ณ ... Next.js ๊ด๋ จ ํํ ๋ฆฌ์ผ๋ณด๋ค๊ฐ ์์ ์ ๊ณ ๋ฏผํ๊ณ ์ฐพ์๋ดค๋ ๋ถ๋ถ์ด ์๊ฐ๋์ ์ผ๋ฅธ ๊ธ๋ก ๋จ๊ฒจ๋ณธ๋ค.
์ง๋ ์ฌ์ด๋ ํ๋ก์ ํธ ๋ CSS Modules๋ฅผ ์ฌ์ฉํ๋๋ฐ ํด๋์ค ๋ช ์ ์ฌ๋ฌ ๊ฐ ๋ฃ๋ ๊ฒ๊ณผ ๊ด๋ จํ์ฌ ์ฐพ์๋ณธ ์ ์ด ์์๋ค. (๊ธฐ์กด์ ์์ฑํ๋ ์ฝ๋์์ ๋ณด๊ณ ์ฌ๋ฆฌ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋ ์ ํํ ๋ฐฉ๋ฒ์ ๋ํด์๋ ๋ฌธ์๋ฅผ ์ฐพ์๋ณด๊ฑฐ๋ ์ถ๊ฐ์ ์ผ๋ก ๊ฒ์ํด๋ณด๋ ๊ฒ์ ๊ถํด๋๋ฆฝ๋๋ค. )
1. ํด๋์ค ๋ช ์ด ํ๋ ์ผ ๋
- style.className ๋ฐฉ์
<h2 className={cardStyles.cardTitle}>
- style['class-name'] ๋ฐฉ์
<h2 className={cardStyles['card-title']}>
2. ํด๋์ค ๋ช ์ด ๋๊ฐ ์ด์์ผ ๋
- {`${style.className1} ${style.className2}`} / {`${style['class-name1']} ${style['class-name2']}`}
// style.className ๋ฐฉ์
<span className={`${cardStyles.cardCategory} ${cardStyles.cardTag}`}>
// style['class-name'] ๋ฐฉ์
<span className={`${cardStyles["card-category"]} ${cardStyles["card-tag"]}`}>
// ์กฐ๊ฑด๋ฌธ๋ ๋ฃ์ ์ ์์
<span className={`${cardStyles.cardCategory} ${isClicked ? cardStyles.selected : ''}`}>
// ๋ฐฐ์ด์ ๋ฃ๊ณ join ํ๊ธฐ
<span className={[cardStyles.cardCategory, isClicked ? cardStyles.selected : ''].join('')}>
3. globals.css์ CSS Modules๋ฅผ ํจ๊ป ์ฌ์ฉํ ๋
- ``(๋ฐฑํฑ) ์์ ํ ์คํธ๋ก ๋ฃ๊ธฐ
<div className={`body-text ${alertStyles.alert}`}>
- ๋ณ์๋ก ๋ฃ๊ธฐ
const btnClass = `${btnStyles.btn} mt-16 ml-8`
// ์ฝ๋ ์๋ต
<button className={`${btnClass} ${btnStyles['btn-default']}`}>
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์๋ ๊ฒ์ด๋ (0) | 2022.06.15 |
---|---|
๋๋ค ๋ฌธ์์ด ์์ฑํ๊ธฐ (0) | 2022.05.24 |
npx prisma format (0) | 2022.05.08 |
MySQL ๋คํ ๋จ๊ธฐ (0) | 2021.10.22 |
MySQL ์ปฌ๋ผ ์ถ๊ฐํ๊ธฐ (0) | 2021.10.07 |