๐พ๋ค์ด๊ฐ๋ฉฐ
CSS ๊ด๋ จํด์ ์ฌ๋ฌ ๊ฐ์ง๋ฅผ ์ฌ์ฉํด๋ณด๋๋ฐ, ์ด๋ค ์ฐจ์ด๊ฐ ์๋์ง ๊ฐ๋จํ๊ฒ ๊ตฌ๋ถํด๋ณด๋ ค๊ณ ๊ธ์ ์๋๋ค.
โจ๋ณธ๊ฒฉ์ ์ผ๋ก
โ CSS, module, SCSS, CSS in JS...
CSS: ์น ๋ฌธ์์ ๋์์ธ์ ์์ธ ์ ์๊ฒ ๋ง๋๋ ์คํ์ผ ์ํธ.
-> ๋๊ท๋ชจ ํ๋ก์ ํธ์์ ์ ์ญ์ ์ผ๋ก ์ ์ฉ๋๋ CSS๋ ๊ด๋ฆฌ์ ์ด๋ ค์์ด ์๋ค.
selecorA {
/*...css...*/
}
selectorB.class {
/*...css...*/
}
CSS-module: style.module.css
์ฒ๋ผ CSS๋ฅผ moduleํํ์ฌ ์ฌ์ฉ
-> ์ค๋ณต๋๋ ํด๋์ค๋ช
์ด์ด๋ ๊ณ ์ ํ hash ๊ฐ์ด ํด๋์ค๋ช
์ ๋ถ๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ์คํ์ผ๋ก ์์ฑํ ์ ์๋ค.
selecor {
/*...css...*/
}
selector.class {
/*...css...*/
}
SCSS: CSS์์ ์ฝ๋์ ๊ฐ๋
์ฑ์ ํฅ์ํ๊ณ , ์ฌ์ฌ์ฉ์ฑ์ ๋์ด๊ธฐ ์ํด ์ฌ์ฉํ๋ ์ ์ฒ๋ฆฌ๊ธฐ
-> Sass์ 3๋ฒ์ ์์ ์๋กญ๊ฒ ๋ฑ์ฅํ SCSS. Sass์ ๋ชจ๋ ๊ธฐ๋ฅ์ ์ง์ํ๋ CSS์ ์์์งํฉ.
@import './shared.scss';
selecor {
/*...css...*/
&.class {
/*...css...*/
}
}
@mixin border-radius($radius) {
-webkit-border-radius: $radius;
-moz-border-radius: $radius;
-ms-border-radius: $radius;
border-radius: $radius;
}
.class { @include border-radius(10px); }
CSS in JS: ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํด CSS๋ฅผ ์ ์ฉํ ์ ์๋ค.
-> React์ ์ฌ์ด๊ฐ ์ข๋ค. ์ปดํฌ๋ํธ๋ฅผ ๋ง๋๋ ๋ฐฉ์์ผ๋ก ์ฌ์ฉ์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์.
๋ํ์ ์ผ๋ก styled-components์ emotion์ด ์๋ค.
const Box = styled.div`
//...css...
`
<Box/>
-> vue์ style scoped: module๊ณผ ๋น์ทํ์ง๋ง, ํ๋์ ์ปดํฌ๋ํธ์์ ์ ์ฉํ ์ ์๋๋ก ํ๋ค.
data ์์ฑ๊ฐ์ ์ฌ์ฉํด css ์ ํ์๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ.
โ๏ธ๊ฒฐ๋ก
์ด๋ ๊ฒ ๊น์ง ์ ๊ณ ๋๋ ์ฌ๊ธฐ์์ ๋ฌด์์ ๋ ์์์ผ ์ข์๊น ํ๋ ๊ณ ๋ฏผ๊ณผ ๋ ์ด์ ๊ธ์ด ์ด์ด์ง์ง ์์์ ๋ง๋ฌด๋ฆฌํฉ๋๋ค...!
'Read' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[MDN] HTML ๋ฌธ์์์ ๋ญ ๋ด? (0) | 2024.04.28 |
---|---|
๊ธฐ์ ๋ฌธ์ ๋ฐฐํฌ๋ฅผ ์ํ ํ๋ก์ธ์ค (1) | 2024.03.03 |
๊ธฐ์ ๋ฌธ์ ์์ฑ์ ์ํ ์๊ฐ์ ์ฝํ ์ธ (0) | 2024.02.25 |
๊ธฐ์ ๋ฌธ์ ์์ฑ์ ์ํ ์ํ ์ฝ๋ (0) | 2024.02.09 |
๊ธฐ์ ๋ฌธ์ ์์ฑ์ ์ํ ํธ์ง ํ๋ก์ธ์ค (0) | 2024.01.27 |