我正在尝试在React中设置背景图像,但它只覆盖了高度的75%。
组件似乎没有占用所有高度。
解决方案是什么?
在index.js中:
ReactDOM.render(<Login />, document.getElementById('root'));
在index.css中:
html, body, .Login-component {
height: 100%;
}
在Login.js中:
render() {
return (
<div className='Login-component'>
);
}
在Login.css中
.Login-component {
background: url(../static/login-bg.jpg) no-repeat center center fixed;
background-size: cover;
}
最终结果:Screen shot
答案 0 :(得分:10)
使用vh和vw属性:
const styles = {
container: {
backgroundImage: `url(${backgroundImage})`,
backgroundPosition: 'center',
backgroundSize: 'cover',
backgroundRepeat: 'no-repeat',
width: '100vw',
height: '100vh'
}
};
答案 1 :(得分:4)
尝试使用特定的属性值。
在Index.css中:
body, html {
height: 100%;
margin: 0;
}
在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;
}
答案 2 :(得分:4)
图像应该在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>
);
}
}
答案 3 :(得分:0)
虽然没有任何代码很难排除故障,但请检查要将反应组件渲染到的根元素。在组件样式中设置height: '100%'
将在其父div的上下文中。
答案 4 :(得分:0)
编辑CSS。
这可能就是你要找的东西:
<Component style={{ minHeight: '100%' }} />
如果您的意思是背景图片没有覆盖整个高度,那么将className添加到您的组件中,导入CSS,您可以执行this
之类的操作