在 React 中使用内联样式设置背景图片
Setting a background image with inline Styles in React
在 React 中设置带有内联样式的背景图片:
- 在元素上设置
style
道具。img
- 在对象中设置
backgroundColor
属性。style
- 例如,背景图像:
url(${MyBackgroundImage})
。
应用程序.js
// 👇️ import the image import MyBackgroundImage from './background-image.webp'; export default function App() { const externalImage = 'https://bobbyhadz.com/images/blog/react-prevent-multiple-button-clicks/thumbnail.webp'; return ( <div style={{ backgroundImage: `url(${MyBackgroundImage})`, // backgroundImage: `url(${externalImage})`, backgroundSize: 'cover', backgroundRepeat: 'no-repeat', backgroundPosition: 'center', height: '500px', }} > <h2 style={{color: 'white'}}>Hello world</h2> </div> ); }
该示例展示了如何使用内联 React 样式将本地或外部图像设置为
背景图像。
该示例假定您在与组件background-image.webp
相同的文件夹中有一个名为的图像App
。
对于本地图片,请确保指定正确的图片文件路径(包括扩展名)。
例如,如果您从一个目录向上导入图像,您将导入为import MyImage from '../background-image.webp'
.
该图像必须位于src
您的项目目录中。
您可以将导入的图像传递给
url() CSS 函数或指向外部图像的远程 URL。
下面是一个使用远程背景图像的示例。
应用程序.js
export default function App() { const externalImage = 'https://bobbyhadz.com/images/blog/react-prevent-multiple-button-clicks/thumbnail.webp'; return ( <div style={{ backgroundImage: `url(${externalImage})`, backgroundSize: 'cover', backgroundRepeat: 'no-repeat', backgroundPosition: 'center', height: '500px', }} > <h2 style={{color: 'white'}}>Hello world</h2> </div> ); }
请注意,我们使用
模板文字
在字符串中插入变量。
请注意,字符串包含在反引号 “ 中,而不是单引号中。
美元符号和花括号语法允许我们使用被评估的占位符。
应用程序.js
const externalImage = 'https://example.com/img.png'; const result = `url(${externalImage})`; // 👇️ url(https://example.com/img.png) console.log(result);
默认情况下,模板文字将各个部分连接成一个字符串。
这正是我们所需要的,因为url()
CSS 函数用于包含一个文件,并将绝对 URL、相对 URL 或数据 URL 作为参数。