부품단위로 ul컴포넌트를 만들어 나가는 개발
레고블럭처럼 컴포넌트를 생성 -> 컴포넌트 결합 -> 페이지 조립을 할 수 있다
필요한 이유?
웹사이트들이 다양한 디스플레이를 커버해야 하기 때문에 CSS는 더 복잡해지게 되었습니다.
따라서 CSS 작업을 효율적으로 하기 위해 구조화된 CSS의 필요성이 대두되었고, CSS를 구조화하는 방법에 대한 연구가 필요해졌습니다.
css 방법론들의 특징,장단점
특징 | 장점 | 단점 | |
---|---|---|---|
CSS | 기본적인 스타일링 방법 | -- | 일관된 패턴을 갖기 어려움,!important의남용 |
SASS | 프로그래밍 방법론을 도입하여 컴파일된 css를 만들어내는 전처리기 | 변수/함수/상속개념을 활용하여 재사용 가능 /css의 구조화 | 전처리과정이 필요,디버깅의 어려움이 있음,컴파일한 css파일이 거대해짐 |
BEM | css클래스명 작성에 일관된 패턴을 강제하는 방법론 | 네이밍으로 문제해결, 전처리과정 불필요 | 선택자의 이름이 장황하고,클래스목록이 너무 많아짐 |
Styled-Component(CSS-in-js) | 컴포넌트 기반으로 css를 작성할 수 있게 도와주는 라이브러리 | css를 컴포넌트안으로 캡슐화,네이밍이나 최적화를 신경 쓸 필요가 없음 | 빠른 페이지 로드에 불리함 |
요즘은 css-in-js가 많이쓰이는 추세이다
참고자료
<코드스테이츠>
https://yamoo9.github.io/react-master/lecture/sb-cdd.html#cdd-%E1%84%8C%E1%85%A1%E1%86%BC%E1%84%8C%E1%85%A5%E1%86%B7