Styled Component에 배경이미지 url 삽입
JavaScript React TutorialEmotion을 이용해 Styled components(CSS-in-JS)를 적용하면서 컴포넌트 안에 배경 이미지를 넣는 작업을 진행하면서 발견한 방법들을 나열해본다.
1. url 바로 입력
/public
폴더 아래에 위치해있으므로 굳이 상대좌표를 따라가지 않고 assets/
로 url에 접근 가능하다.
import styled from "@emotion/styled";
export const Container = styled.div`
background-image: url('assets/background.png');
background-size: 100%;
`
2. import -> props 로 이미지 전달
리액트 props를 연습할 겸 이미지를 프롭으로 넘겨주는 방식으로도 진행해봤다.
// index.js
import backgroundImg from'../public/assets/background.png'
import { Container, Content } from '../styles/layout.js';
export default function MyPage() {
return (
<Container image={backgroundImg}>
<Content>Here's some content</Content>
</Container>
);
}
// layout.js
import styled from "@emotion/styled";
export const Container = styled.div`
background-image: url(${props => props.image.src});
background-size: 100%;
`