import React from 'react';
import styled from 'styled-components';
const Container = styled.div`
background-image: url('your-image-url');
background-size: cover;
width: 100%;
height: 100%;
`;
const Content = styled.div`
background-color: rgba(0, 0, 0, 0.5);
color: white;
padding: 20px;
`;
const ImageWithContent = () => {
return (
<Container>
<Content>
<h1>Title</h1>
<p>Description</p>
</Content>
</Container>
);
};
export default ImageWithContent;
이렇게 배경 이미지와 함께 다른 요소를 추가하는 방식을 사용하면, 이미지와 함께 다른 내용을 표시할 수 있습니다.
백그라운드 이미지의 URL을 서버에서 받아와서 스타일드 컴포넌트에서 사용해야 하는 경우에는, 해당 URL을 컴포넌트의 props로 전달받아서 사용할 수 있습니다.
예를 들어, ItemsImgContainer 컴포넌트가 backgroundImageUrl props를 받아서 해당 URL을 배경 이미지로 사용하도록 변경해보겠습니다.
const ItemsImgContainer = styled.div`
height: 180px;
border-radius: 1rem;
background-image: ${({ backgroundImageUrl }) =>
`url(${backgroundImageUrl})`};
background-repeat: no-repeat;
background-size: cover;
background-position: center;
`;
const ItemsImgTitle = styled.h2`
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 1;
`;
const ItemsImgContainerWithText = ({ backgroundImageUrl }) => {
return (
<ItemsImgContainer backgroundImageUrl={backgroundImageUrl}>
<ItemsImgTitle>Title</ItemsImgTitle>
</ItemsImgContainer>
);
};