이 포스트는 Udemy 사이트에 올라 온 Tom Phillips의 "React styled-components v5 (2021 edition)" 강의를 듣고 정리한 것입니다.
🔗링크
https://www.udemy.com/course/react-styled-components/
🔗 참고
styled-components documentation에서 Animation부분
https://styled-components.com/docs/basics#animations
👩💻 전체 코드
import styled, { keyframes } from "styled-components";
const rotation = keyframes`
from{
transform: rotate(0deg);
}
to{
transform: rotate(360deg);
}
`;
const Spinner = styled.div`
height: 30px;
width: 30px;
border: 1px solid #f8049c;
border-radius: 50%;
border-top: none;
border-right: none;
margin: 16px auto;
animation: ${rotation} 1s linear infinite;
`;
export { Spinner };
1.
우선 원하는 Spinner components를 만들어준다.
import styled from 'styled-components';
const Spinner = styled.div`
height: 30px;
width: 30px;
border: 1px solid #f8049c;
border-radius: 50%;
border-top: none;
border-right: none;
margin: 16px auto;
`;
export { Spinner };
2.
styled-components에서 keyframes helper를 import한다.
import styled, { keyframes } from "styled-components";
3.
원하는 animation을 만들어준다.
const rotation = keyframes`
from{
transform: rotate(0deg);
}
to{
transform: rotate(360deg);
}
`;
4.
Spinner element에 animation을 적용한다.
const Spinner = styled.div`
height: 30px;
width: 30px;
border: 1px solid #f8049c;
border-radius: 50%;
border-top: none;
border-right: none;
margin: 16px auto;
animation: ${rotation} 1s linear infinite;
`;
👩💻 다시 한 번 전체 코드 확인
import styled, { keyframes } from "styled-components";
const rotation = keyframes`
from{
transform: rotate(0deg);
}
to{
transform: rotate(360deg);
}
`;
const Spinner = styled.div`
height: 30px;
width: 30px;
border: 1px solid #f8049c;
border-radius: 50%;
border-top: none;
border-right: none;
margin: 16px auto;
animation: ${rotation} 1s linear infinite;
`;
export { Spinner };
'styled-components' 카테고리의 다른 글
ThemeProvider 사용하기 (2) - 토글 버튼 만들어서 theme 토글하기 (0) | 2021.05.18 |
---|---|
ThemeProvider 사용하기(1) - 기본 문법 (0) | 2021.05.18 |
번외) react-router-dom의 Link를 styled-components로 꾸미기(feat.useLocation) (하지만 난 NavLink가 좋다) (0) | 2021.05.17 |
번외) react-router-dom (0) | 2021.05.17 |
'css' helper와 props를 이용한 스타일링 (0) | 2021.05.17 |