Styled-components

Amy_Lee·2022년 7월 7일
0

Scss

sass는 css와 비슷하게 App.scss 파일을 만들어 scss 문법에 맞게 코드 넣는것 이다. Sass는 두가지 확장자(.scss/.sass)를 지원하고,
📍 npm install 작업이 필요함. ( node- sass ) 📍

import styled, { css } from 'styled-components'

const Box = styled.div`
  background: ${(props) => props.color || 'blue'};
  padding: 1rem;
  display: flex;
`
//Box 컴포넌트에 .color 라는 props가 없으면 blue가 된다-> 지금은 있으니 black

const Button = styled.button`
  background: white;
  color: black;
  border-radius: 4px;
  padding: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  font-size: 1rem;
  font-weight: 600;

  &:hover {
    background: rgba(255, 255, 255, 0.9);
  }
  
${(props) =>
    props.inverted &&
    /* inverted값이 true면 밑 속성들이 적용된다 */
    css`
      background: none;
      border: 2px solid white;
      color: white;
      &:hover {
        background: white;
        color: black;
      }
    `}
  &+button {
    margin-left: 1rem;
  }
`

const StyledComponent = () => (
  <Box color="black">
    <Button>안녕하세요</Button>
    <Button inverted={true}>테두리만</Button>
  </Box>
)

export default StyledComponent


0개의 댓글