[CSS] CSS inline 스타일 적용하기

2024. 6. 17. 12:31·Frontend/CSS

JSX 문법을 사용해 CSS를 적용하는 방식은 HTML에서 CSS를 적용하는 방식과 유사합니다.

 

역시 다른 점이라고 한다면, JSX 문법으로 인해 생기는 HTML과의 차이점 정도라고 할 수 있겠습니다.

 

[JSX에 대해서]

 

  • JSX에서 style은 객체 형태로 넘겨줄 수 있어, style을 먼저 변수로 선언한 뒤 {중괄호}로 불러올 수 있습니다.
  • CamelCase를 사용합니다(e.g. background-color → backgroundColor).
  • 스프레드 문법({..., })을 사용하면 클래스 상속과 같이 다른 스타일의 요소들을 사용할 수 있습니다.

아래는 버튼에 스타일을 적용하는 코드입니다.

 

버튼의 공통된 스타일은 baseButtonStyle에,

 

색과 관련된 코드는 blueButtonStyle과 redButtonStyle에 구현되어 있습니다.

const baseButtonStyle = {
  padding: '14px 27px',
  borderRadius:  '30px',
  outline:'none',
  cursor: 'pointer',
  fontSize: '17px',
};

// 스프레드 문법으로 baseButtonStyle의 요소들을 가져왔습니다.
const blueButtonStyle = {
  ...baseButtonStyle,
  backgroundColor: 'rgba(0, 89, 255, 0.2)',
  border: 'solid 1px #7090ff',
  color: '#7090ff',
};

// 스프레드 문법으로 baseButtonStyle의 요소들을 가져왔습니다.
const redButtonStyle = {
  ...baseButtonStyle,
  backgroundColor: 'rgba(255, 78, 78, 0.2)',
  border: 'solid 1px #ff4664',
  color: '#ff4664',
};

// color prop 값에 따라 blueButtonStyle 또는 redButtonStyle을 적용합니다.
function Button({ children, onClick, color }) {
  const style = color === 'red' ? redButtonStyle : blueButtonStyle;
  return <button style={style} onClick={onClick}>{children}</button>;
}

export default Button;
728x90

'Frontend > CSS' 카테고리의 다른 글

[CSS] Macaron js에 대해서  (0) 2024.07.01
[CSS] CSS 속성 종류 정리  (0) 2024.06.18
[CSS] CSS로 외부 파일 경로 설정하기  (0) 2024.06.17
[CSS] CSS 선택자 정리  (0) 2024.01.26
[CSS] CSS에 대해서  (0) 2024.01.26
'Frontend/CSS' 카테고리의 다른 글
  • [CSS] CSS 속성 종류 정리
  • [CSS] CSS로 외부 파일 경로 설정하기
  • [CSS] CSS 선택자 정리
  • [CSS] CSS에 대해서
Rayi
Rayi
  • Rayi
    아카이브
    Rayi
  • 전체
    오늘
    어제
    • 분류 전체보기 (276)
      • CS (40)
        • CV (2)
        • PS (34)
      • Reveiw (18)
        • Paper (18)
        • Github (0)
      • ML (8)
        • Pytorch (5)
      • Language (59)
        • Python (8)
        • JavaScript (32)
        • TypeScript (16)
        • C++ (3)
      • IDE (12)
      • Git (13)
      • Frontend (77)
        • React (8)
        • ReactNative (6)
        • SolidJS (20)
        • CSS (12)
      • Backend (44)
        • DB (18)
        • Node.js (11)
      • UI (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    ts
    deploy
    CSS
    js
    ps
    modal
    ML
    API
    DB
    python
    expo
    PRISMA
    CV
    SOLID
    GAN
    frontend
    Three
    figma
    Git
    CS
    ReactNative
    PyTorch
    backend
    review
    react
    vscode
    nodejs
    Express
    mongo
    postgresql
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
Rayi
[CSS] CSS inline 스타일 적용하기
상단으로

티스토리툴바