📚 이론정리/CSS
styled-components
서카츄
2024. 1. 24. 11:50
확장 프로그램 검색 -> styled-components 깔고 초기세팅 해준다.
터미널에
yarn add styled-components
npm add styled-componenets
입력해주고 package.json을 보면 깔려있는 내용을 알 수 있음.
CSS - in JS: 자바스크립트로 CSS를 작성하는 방식
props를 통해서 부모컴포넌트 => 자식 컴포넌트로 조건부 스타일링이 가능하다.
import React from 'react';
import styled from 'styled-components';
const StBox = styled.div`
color: red;
`;
const StP = styled.p`
color: blue;
border: 1px solid
${(props) => {
return props.borderColor;
}};
background-color: ${(props) => {
return props.backgroundColor;
}};
`;
export default function App() {
return (
<StBox>
<StP borderColor="red" backgroundColor="pink">
박스
</StP>
<StP borderColor="blue">박스</StP>
<StP borderColor="green">박스</StP>
</StBox>
);
}
import React from 'react';
import styled from 'styled-components';
const StContainer = styled.div`
display: flex;
`;
const StBox = styled.div`
color: red;
width: 100px;
height: 100px;
border: 1px solid ${(props) => props.borderColor};
margin: 20px;
`;
const boxList = ['red', 'blue', 'green', 'b'];
const getBoxName = (color) => {
switch (color) {
case 'red':
return '빨간 박스';
case 'blue':
return '블루 박스';
case 'green':
return '그린 박스';
default:
return '검정 박스';
}
};
export default function App() {
return (
<StContainer>
{boxList.map((box) => {
return <StBox borderColor={box}>{getBoxName(box)}</StBox>;
})}
</StContainer>
);
}
GlobalStyles, Sass소개, cssReset
GlobalStyles => 전역 스타일링 , 프로젝트 전체를 아우르는 스타일
createGlobalStyle로 공통적인 부분을 하나 만들어준다.
똑같이 import 해줌