CSS๋ฅผ ์ข ๋ ํจ์จ์ ์ผ๋ก, ๊ตฌ์กฐ์ ์ผ๋ก ์์
ํ๊ธฐ ์ํด ํ์ํ Styled component๊ฐ
๋ฑ์ฅํ๊ธฐ ์ ์ด๋ค ๊ฒ์ ๋ค๋ค ์์
ํ๋์ง ํ์ตํ๋ค.
CDD๋ฅผ ํ์ฉํ ๊ฐ๋ฐ ๋ฐฉ๋ฒ์ ์ปดํฌ๋ํธ ๋จ์๋ก ๋ง๋ค์ด ํ์ด์ง๋ฅผ ์กฐ๋ฆฝํ๋ ๊ฐ๋ฐ ๋ฐฉ์์ธ ์ํฅ์ ๊ฐ๋ฐ๊ณผ ๊ฐ๊น๋ค.
CSS ์์ ์ ํจ์จ์ ์ผ๋ก ํ๊ธฐ์ํด ๊ตฌ์กฐํ๋ CSS์ ํ์์ฑ์ด ๋๋ ๋์๋ค.
์ด๋ฅผ ํตํด CSSํ์ผ๋ค์ ๊ตฌ์กฐํ ํ ์ ์๊ฒ ๋์๊ณ , ์ต์ํ CSS ํ์ผ์ ๋ช ๊ฐ์ ์์ ํ์ผ๋ก ๋ถ๋ฆฌํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๊ฒผ๋ค.
SCSS ์ฝ๋๋ฅผ ์ฝ์ด์ ์ ์ฒ๋ฆฌํ ๋ค์ ์ปดํ์ผ ํ ์ ์ญ CSS ๋ฒ๋ค ํ์ผ์ ๋ง๋ค์ด์ฃผ๋ ์ ์ฒ๋ฆฌ๊ธฐ ์ญํ ์ ํ๋ค.
/*
* ๋ฐ๋ณต๋๋ CSS์ฝ๋๊ฐ ์๋ค๋ฉด ๋ณ์๋ฅผ ํ์ฉํด ์ฌ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
* ๋ณ์๋ฅผ ์ ์ธํ ๋๋ $๊ธฐํธ๋ฅผ ํ์ฉํ๋ค.
*/
$base-color: #fff;
.alert {
border: 1px solid $border-dark
}
.button {
color: $border-dark
}
์ฌ๋ฌ ํ์์ด ํจ๊ป ์์ ํ๋ ์ํฉ์ผ ๋ CSS ์์ฑ ๋ฐฉ๋ฒ์ ๊ท์น์ผ๋ก ์ ํด๋๋ ๊ฒ์ ๋งค์ฐ ์ค์ํ ์์์ด๋ค.
-
์ __
๋ก ๊ตฌ๋ถํ๋ค..header__navigation--navi-text{
color: red;
}
/*
* header => Block
* navigation => Element
* navi-text => Modifier
*/
- Block: ์ ์ฒด๋ฅผ ๊ฐ์ธ๊ณ ์๋ ๋ธ๋ญ ์์ โก๏ธ
header
- Element: ๋ธ๋ญ์ด ํฌํจํ๊ณ ์๋ ํ ์กฐ๊ฐ โก๏ธ
navigation
- Modifier: ๋ธ๋ญ ๋๋ ์์์ ์์ฑ โก๏ธ
navi-text
(๋ธ๋ก์ด๋ ์๋ฆฌ๋จผํธ์ ์ธ๊ด์ด๋ ์ํ๋ฅผ ๋ณํ๊ฐ๋ฅํ๊ฒ ํ๋ ๋ถ๋ถ)
import styled from "styled-components";
const input = styled.input`
width: 100px;
margin: 1rm;
`
export default function Form(){
return(
<>
<Input />
</>
)
}
ํน์ง | ์ฅ์ | ๋จ์ | |
---|---|---|---|
CSS | ๊ธฐ๋ณธ์ ์ธ ์คํ์ผ ๋ฐฉ์ | - | ์ผ๊ด๋ ํจํด ๊ฐ๊ธฐ ์ด๋ ค์, !important ๋จ์ฉ |
SASS | ์ปดํ์ผ๋ CSS๋ฅผ ๋ง๋ค์ด๋ด๋ ์ ์ฒ๋ฆฌ๊ธฐ | ๋ณ์, ํจ์, ์์ ๊ฐ๋ ์ ํ์ฉํด ์ฌ์ฌ์ฉ ๊ฐ๋ฅ, ๊ตฌ์กฐํ | ์ ์ฒ๋ฆฌ ๊ณผ์ ํ์, ๋๋ฒ๊น ์ด๋ ค์, ์ปดํ์ผํ CSSํ์ผ ๊ฑฐ๋ํด์ง |
BEM | ํด๋์ค๋ช ์์ฑ์ ์ผ๊ด๋ ํจํด์ ๊ฐ๋ | ๋ค์ด๋ฐ์ผ๋ก ๋ฌธ์ ํด๊ฒฐ, ์ ์ฒ๋ฆฌ ๊ณผ์ X | ์ ํ์ ์ด๋ฆ ์ฅํฉ, ํด๋์ค ๋ชฉ๋ก ๋ง์์ง |
Styled Component | ์ปดํฌ๋ํธ ๊ธฐ๋ฐ CSS์์ฑํ ์ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ | CSS๋ฅผ ์ปดํฌ๋ํธ ์์ผ๋ก ์บก์ํ, ๋ค์ด๋ฐ/์ต์ ํ ์ ๊ฒฝ X | ๋น ๋ฅธ ํ์ด์ง ๋ก๋ ๋ถ๋ฆฌ |
CSS๋ฅผ ์ข ๋ ํจ์จ์ ์ผ๋ก, ๊ตฌ์กฐ์ ์ผ๋ก ์์
ํ๊ธฐ ์ํด ํ์ํ Styled component๊ฐ
๋ฑ์ฅํ๊ธฐ ์ ์ด๋ค ๊ฒ์ ๋ค๋ค ์์
ํ๋์ง ํ์ตํ๋ค.
JavaScript, React๋ง ์ ๊ฒฝ ์ฐ๋ค ์คํ์ผ์ ๋ถ๋ถ์ธ CSS์ ๋ํ ์ ๊ฒฝ์ ์ฐ์ง ์์๋๊ฑฐ ๊ฐ๋ค.
์ด๋ฒ ํ์ต์ ํตํด CSS์ ๋ํ ๋ฌธ์ ์ ๊ณผ ์ด๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด ์ด๋ค ๊ธฐ๋ฅ ๋ค์ด ์๊ธฐ๊ฒ ๋์๊ณ
ํ์ฌ๋ ์ด๋ค ์ฝ๋๋ก ์์ฑํ๋๊ฒ ์ถ์ธ์ธ์ง ์ ์ ์์๋ค.
๊ฒ์๋ฌผ ๋ด์ฉ์ด ๊ธธ์ด์ ธ ๋๋ ์ ์ ๋ก๋ ์์