create-react-app 으로 만든 프로젝트라면 별도 패키지 설치 없이 바로 사용할 수 있는 방법 3가지 있음
export default function Hello(){
return (
<div>
<h1 style={
{
color: '#f00',
borderRight: '12px solid #000',
marginBottom: '50px',
opacity: 0.5,
}
}>Hello</h1>
<World />
<World />
</div>
);
}
특별한 경우 아니면 인라인으로 작성하지는 않음
→ head안에 다 작성되기 때문에 전체 페이지에 영향을 다 미친다.
.box {
width: 200px;
height: 50px;
background-color: blue;
}
.box {
width: 100px;
height: 100px;
background-color: red;
}
import styles from "./Hello.module.css";
export default function Hello(){
return (
<div>
<h1 style={
{
color: '#f00',
borderRight: '12px solid #000',
marginBottom: '50px',
opacity: 0.5,
}
}>Hello</h1>
<div className={styles.box}>Hello</div>
</div>
);
}
import './App.css';
import Hello from './component/Hello';
import styles from './App.module.css';
function App() {
return (
<div className="App">
<Hello />
<div className={styles.box}>App</div>
</div>
);
}
export default App;
→ import styles from ‘module.css파일 경로';
<div className={styles.클래스이름}></div>
개발자 도구 들어가서 클래스명 확인해보면, 해당 컴포넌트에 특화된 이름으로 나옴
→ css파일 커지면 네이밍, 상속, 오버라이딩 부분이 가장 고민인데 이 방법으로 말끔히 해결할 수 있음
→ 글로벌에서 관리되는것이 아니라 컴포넌트 단위로 관리되는 것도 장점