在 React 中使用内联样式设置背景图像

在 React 中使用内联样式设置背景图片

Setting a background image with inline Styles in React

在 React 中设置带有内联样式的背景图片:

  1. 在元素上设置style道具。img
  2. 在对象中设置backgroundColor属性。style
  3. 例如,背景图像: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 作为参数。