在React.js中将背景图片设置为全屏

5 reactjs

我正在尝试在React中设置背景图像,但是它只覆盖了大约75%的高度。

似乎该组件并没有占据所有高度。

有什么解决方案?

在index.js中:

ReactDOM.render(<Login />, document.getElementById('root'));
Run Code Online (Sandbox Code Playgroud)

在index.css中:

html, body, .Login-component {
  height: 100%;
}
Run Code Online (Sandbox Code Playgroud)

在Login.js中:

render() {
    return (
      <div className='Login-component'>
    );
}
Run Code Online (Sandbox Code Playgroud)

在Login.css中

.Login-component {
    background: url(../static/login-bg.jpg) no-repeat center center fixed;
  background-size: cover;
}
Run Code Online (Sandbox Code Playgroud)

最终结果:屏幕截图

Nic*_*man 23

使用 vh 和 vw 属性:

const styles = {
    container: {
        backgroundImage: `url(${backgroundImage})`,
        backgroundPosition: 'center',
        backgroundSize: 'cover',
        backgroundRepeat: 'no-repeat',
        width: '100vw',
        height: '100vh'
    }
};
Run Code Online (Sandbox Code Playgroud)


oto*_*ock 6

尝试使用特定的属性值。

在Index.css中:

body, html {
    height: 100%;
    margin: 0;
}
Run Code Online (Sandbox Code Playgroud)

在Login.css中:

.Login-component {
    /* The image used */
    background-image: url(../static/login-bg.jpg);

    /* Full height */
    height: 100%; 

    /* Center and scale the image nicely */
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
Run Code Online (Sandbox Code Playgroud)


小智 5

图像应位于src文件夹中,此外,在组件内部,请执行以下操作。-

const imgMyimageexample = require('../assets/imageexample.jpg');
const divStyle = {
  width: '88%',
  height: '800px',
  backgroundImage: `url(${imgMyimageexample})`,
  backgroundSize: 'cover'   <---- This is important
};

export default class Mycomponent extends React.Component {
  render() {
    return (
      <div className="cComponent" style={divStyle} >
        <h1 align="center">Some header example</h1>
      </div>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)