如何将背景图像 url 注入样式组件
How to inject background image url into styled-components
我使用样式化组件作为设计库,我创建了一个 div 来保存背景图像及其属性,如果我从样式化组件外部注入图像 url不接受并犯了一些错误。
我将复制一些代码:
image-div 组件作为样式组件:
const ImageDiv = styled.div`
height: 100%;
width: 100%;
float: left;
background-repeat: no-repeat;
background-position: left;
background-size: cover;
`
export default ImageDiv;
在屏幕上使用 ImageDiv 并向其传递背景图像不会采用上面的背景属性
<ImageDiv style={{ backgroundImage: `url(${signin})` }} src = {signin} alt="logo" />
我希望能够将 url 作为 prop 传递并从上方将其注入到样式组件中
你可以简单地将它作为另一个道具传递,然后在样式组件中使用它作为 background-image
属性.
<ImageDiv bg={signin} src={signin} alt="logo" />
const ImageDiv = styled.div`
background-image: url(${(props) => props.bg});
`;
使用解构道具
const ImageDiv = styled.div`
height: 100%;
width: 100%;
float: left;
background-repeat: no-repeat;
background-position: left;
background-size: cover;
background-image: ${({url}) => `url(${url})`};
`
export default ImageDiv;
我使用样式化组件作为设计库,我创建了一个 div 来保存背景图像及其属性,如果我从样式化组件外部注入图像 url不接受并犯了一些错误。
我将复制一些代码:
image-div 组件作为样式组件:
const ImageDiv = styled.div`
height: 100%;
width: 100%;
float: left;
background-repeat: no-repeat;
background-position: left;
background-size: cover;
`
export default ImageDiv;
在屏幕上使用 ImageDiv 并向其传递背景图像不会采用上面的背景属性
<ImageDiv style={{ backgroundImage: `url(${signin})` }} src = {signin} alt="logo" />
我希望能够将 url 作为 prop 传递并从上方将其注入到样式组件中
你可以简单地将它作为另一个道具传递,然后在样式组件中使用它作为 background-image
属性.
<ImageDiv bg={signin} src={signin} alt="logo" />
const ImageDiv = styled.div`
background-image: url(${(props) => props.bg});
`;
使用解构道具
const ImageDiv = styled.div`
height: 100%;
width: 100%;
float: left;
background-repeat: no-repeat;
background-position: left;
background-size: cover;
background-image: ${({url}) => `url(${url})`};
`
export default ImageDiv;