<aside> 💡

인라인 스타일 : HTML 요소 내부에 직접 스타일을 적용하는 방식을 말함. HTML 태그의 style 속성을 사용하여 인라인 스타일을 적용할 수 있다.

</aside>

ex) 인라인 스타일

const textStyles={
  color:white,
  backgroundColor:black
}

const SomeComponent ={
  return(
    <p style={textStyles}>inline style</p>)
}
<p style="color:whtie; background-color:black">style</p>

ex) css-in-js

import styled from "styled-components"

const Text= styled.div`
color: white;
background: black;
`const Example = () => <Text>{Hello css-in-js}</Text>

css-in-js의 장점

  1. 컴포넌트로 생각 가능
  2. 부모와 분리 가능
  3. 스코프를 가짐
  4. 자동으로 벤더 프리픽스가 붙음 → 브라우저 호환성 향상
  5. 자바스크립트와 css 상수와 함수를 쉽게 공유할 수 있다

<aside> 💡

BEM(Block Element Modifier)

css 클래스 네이밍 컨벤션의 한 형식을 의미

<aside> 💡

벤더 프리픽스(Vender Profix)

웹 브라우저마다 지원되는 CSS 속성이나 기능이 다를 때 특정 브라우저에서 제대로 동작하도록 하기 위해 추가되는 접두사를 말한다.

</aside>

CSS-in-JS 등장 배경