| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- 자바스크립트
- Github
- 비전공자
- JavaScript
- react
- GIT
- 메가바이트스쿨
- 프론트엔드
- 알고리즘
- 리액트
- 패스트캠퍼스
- useMemo
- 프로그래머스
- 코딩테스트
- 모던 자바스크립트 딥 다이브
- 개발 공부
- styled-components
- 이벤트
- 개발자취업부트캠프
- 입문
- 공식문서
- 내일배움카드
- 국비지원교육
- MegabyteSchool
- 자료구조
- next.js
- CSS
- 모던 딥 다이브 자바스크립트
- TypeScript
- useRef
- Today
- Total
개발 기록 남기기✍️
Styled-Component(4) - Animation and Pseudo Selectors 본문
Checkpoint 1
styled-component를 사용해서 css의 animation 기능을 넣어주고 싶을 때는 어떻게 하면 될까?
keyframes
css와 동일하게 keyframes를 사용해서 애니메이션을 구현할 수 있고, 컴포넌트 안에 animation : ${animation-name} 형식으로 넣으면 동작한다.
Checkpoint 2
Box 컴포넌트 안에 span 태그를 넣으려고 한다. 스타일을 적용하는 모든 태그들을 다 컴포넌트 처리 해줘야 하는걸까?
import styled from "styled-components";
const Wrapper = styled.div`
display: flex;
`;
const Box = styled.div`
display: flex;
justify-content: center;
align-items: center;
height: 200px;
width: 200px;
background-color: tomato;
`;
const Span = styled.span`
font-size: 30px;
`;
function App() {
return (
<Wrapper>
<Box>
<Span>😊</Span> // 이렇게 해야하는걸까?
</Box>
</Wrapper>
);
}
export default App;
Pseudo Selectors
<Span /> 컴포넌트를 별도로 만들 필요 없이, Box 컴포넌트 안에 span{font-size:30px}를 작성해서 Box 컴포넌트 자식인 span 태그의 스타일을 작성할 수 있다.
span태그에 :hover, :active 등의 가상 선택자를 부여하고 싶을 때는 span{&:hover{font-size:70px} &:active{opacity:0}}처럼 span{ } 안에 &:를 이용하여 가상 선택자를 부여할 수 있다.
Checkpoint 3
box 안에 있는 span태그 와 box 밖에 있는 span태그 둘다 같은 스타일을 적용하고 box안에 있는 span태그만 가상 선택자 기능을 주고 싶을 때는 어떻게 해야할까? 그리고 이모지가 담긴 태그를 span말고 다른 태그로 변경하고 싶을 때 어떻게 하면 좋을까?
Pseudo Selectors with Component
span태그는 Emoji라는 컴포넌트로 만들어서 as 속성을 이용해서 태그명을 변경시킬 수 있고, Box 컴포넌트 내부에 ${Emoji}:hover {font-size:70px}을 입력하여 Box 컴포넌트 내부 Emoji 컴포넌트에만 가상선택자 및 스타일을 지정할 수 있다.
'Front-End > React' 카테고리의 다른 글
| [React] 공식문서 정리 - 주요 개념(2) (0) | 2023.02.02 |
|---|---|
| [React] 공식문서 정리 - 주요 개념(1) (0) | 2023.02.01 |
| Styled-Components (3) - "As" and Attrs (0) | 2022.12.09 |
| Styled-Components (2) - Adapting and Extending (0) | 2022.12.09 |
| Styled-Components (1) (0) | 2022.12.09 |