Study/basic

[Basic] Frontend의 이해 - Modern CSS, CSS Frameworks

오후 6시의 봄 2023. 6. 18. 14:55

1. Modern CSS
- Styled Components와 CSS Modules이 가장 인기 있는 기술

  • Styled Components 
    • JavaScript를 사용하여 CSS를 작성하는 방식
    • 컴포넌트 단위로 스타일을 정의하고, 해당 컴포넌트가 렌더링될 때 스타일 자동 적용
    • 범위 지정이 자동으로 되어 스타일 간의 충돌을 방지
    • 변수, 조건문, 반복문과 같은 동적 기능 활용 가능
  • CSS Modules
    • CSS를 모듈화하여 컴포넌트에 바인딩하는 방식
    • 클래스 이름을 모듈화하여 컴포넌트와 관련된 스타일만 적용
    • 스타일을 캡슐화하여 모듈 간의 영향을 줄임
    • 클래스 이름은 로컬 범위에 한정되므로 스타일이 충돌하지 않고 컴포넌트 단위로 스타일링 가능
  • Styled JSX
    • Next.js 프레임워크에서 사용되는 CSS-in-JS 방식
    • JavaScript 코드와 CSS를 동일한 파일에 작성 가능
    • JSX 구문 내에서 스타일 지정 가능
    • 범위 지정된 스타일을 사용하여 컴포넌트 간의 스타일 충돌을 방지
    • CSS의 변수, 조건문, 반복문과 같은 동적 기능 활용 가능
  • Emotion
    • JavaScript를 사용하여 CSS를 작성하는 CSS-in-JS 라이브러리
    • CSS를 JavaScript 객체 형태로 작성하고, 컴포넌트에서 해당 객체를 사용하여 스타일 적용
    • 테마 지원, CSS 변수, 반응형 스타일 등 다양한 기능을 제공

2. CSS Frameworks

  • 웹 개발에서 일반적으로 사용되는 CSS 스타일 및 컴포넌트를 미리 정의하여 개발자에게 제공하는 도구
  • 다양한 컴포넌트, 스타일링 옵션, 테마, 유틸리티 함수 등을 제공
  • Bootstrap, Foundation, Bulma, Tailwind CSS 등이 있음
  • Bootstrap, Bulma는 프레임워크 컴포넌트가 포함되지 않은 CSS 중심의 프레임워크
  • Tailwind는 프레임워크 기반의 Javascript 앱과 함께 사용하기에 좋음