옝옹
냠
옝옹
전체 방문자
오늘
어제
  • 분류 전체보기 (84)
    • [LG유플러스]유레카 SW (5)
    • React (20)
    • JS (17)
    • TypeScript (5)
    • CSS & HTML (1)
    • 알고리즘 (11)
    • JAVA (20)
    • GIT (1)
    • 자격증 (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • reduce
  • 정적멤버
  • 백준
  • While문
  • 변수선언
  • 화살표함수
  • java.lang패키지
  • map() 함수
  • java.util패키지
  • reverse() 메서드
  • java
  • 코드스플리팅
  • 템플릿리터럴
  • 함수선언
  • Node.js
  • continue문
  • JavaScript
  • 자바스크립트
  • sort() 메서드
  • 혼자 공부하는 자바
  • fillter
  • useCallback
  • break문
  • indexOf()
  • 자바
  • 타입변환
  • 자바스트립트
  • 노마드코더
  • 혼자공부하는자바
  • toFixed
  • TypeScript
  • 리액트를다루는기술
  • js
  • map
  • 리액트
  • match()
  • 접근제한자
  • useRef
  • useMemo
  • 기본api클래스
  • do-while문
  • switch문
  • useState
  • join()
  • 타입스크립트
  • join() 메서드
  • useEffect
  • template literal
  • ==
  • 인스턴스멤버

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
옝옹

냠

[React] 컴포넌트 스타일링
React

[React] 컴포넌트 스타일링

2023. 3. 23. 06:50

일반 CSS

  • 컴포넌트를 스타일링하는 가장 기본적인 방식
  • CSS 클래스를 중복되지 않게 만드는 것이 중요

[이름 짓는 규칙]

  • 이름-클래스 (예 : App-header)
  • BEM 네이밍
    • 일종의 규칙을 준수해 해당 클래스가 어떤 용도로 사용되는지 명확하게 작성
    • .card_title-primary
  • css Selector : 특정 클래스 내부에 있는 경우 스타일 적용
.App .logo {
	text-align : center;
}

Sass

  • 자주 사용되는 css 전처리기 중 하나
  • 확장된 CSS 문법을 사용
  • 복잡한 작업을 쉽게 해주고 재활용성을 높여주며 코드의 가독성을 높임
  • .sass 확장자, .scss 확장자 모두 지원

  • 여러 파일에서 사용되는 Sass 변수 및 믹스인은 다른 파일로 따로 분리하여 작성한 뒤 필요한 곳에서 불러와 사용

CSS Module

  • CSS 클래스가 다른 CSS 클래스의 이름과 절대 충돌하지 않도록 파일마다 고유한 이름을 자동으로 생성해줌
  • 확장자 :  " .module.css "
  • 흔히 사용하는 단어로 이름을 지어도 직접 불러온 컴포넌트 내부에서만 작동되므로 중복될 걱정할 필요 없음

  • 전역적으로 사용되는 경우라면 :global을 앞에 입력하여 글로벌 CSS임을 명시

[classnames]

import classNames from 'classnames';

const MyComponent = ({ highlighted, theme }) => (
	<div className = {classNames("MyComponent", {highlighted}, theme)}> Hello </div>
);

→ 위 엘리먼트의 클래스에 highlighted 값이 true이면 highlighted 클래스가 적용되고 false면 적용 안됨

styled-components

  • 스타일을 자바스크립트 파일에 내장시키는 방식
  • 스타일을 작성함과 동시에 해당 스타일이 적용된 컴포넌트를 만들 수 있게 해줌

[반응형 디자인]

media 쿼리

@media (max-width : 1024px) {
	width : 768px;
}
@media (max-width : 768px) {
	width : 100%;
}
저작자표시 비영리 변경금지 (새창열림)

'React' 카테고리의 다른 글

[React] 라우팅  (0) 2023.03.30
[React] immer를 사용해 불변성 유지  (1) 2023.03.29
[React] Hooks  (0) 2023.03.23
[React] 컴포넌트의 라이프사이클 메서드  (2) 2023.03.23
[React] 컴포넌트 반복  (1) 2023.03.21
    'React' 카테고리의 다른 글
    • [React] 라우팅
    • [React] immer를 사용해 불변성 유지
    • [React] Hooks
    • [React] 컴포넌트의 라이프사이클 메서드
    옝옹
    옝옹

    티스토리툴바