Je souhaite ajouter une image d'arrière-plan dans React.js en utilisant une définition de style, qui fonctionne:
let imgUrl = 'images/berlin.jpg'
let styles = {
root: {
backgroundImage: 'url(' + imgUrl + ')',
overflow: 'hidden',
},
...
Comme vous pouvez le constater, l'image se répète dans la direction x. Je voulais donc l'étendre de:
let imgUrl = 'images/berlin.jpg'
let styles = {
root: {
backgroundImage: 'url(' + imgUrl + ')',
backgroundImage: {
flex: 1,
resizeMode: 'cover', // or 'stretch'
},
overflow: 'hidden',
},
...
Mais l'image n'est plus chargée:
Alors, comment définir l’image d’arrière-plan et l’ajuster dans React.js?
Clarifier une autre réponse
let imgUrl = 'images/berlin.jpg'
let styles = {
root: {
backgroundImage: `url(${ imgUrl })`
backgroundRepeat : 'no-repeat',
backgroundPosition: 'center',
}
}
Avez-vous essayé quelque chose comme ça:
let imgUrl = 'images/berlin.jpg'
let styles = {
root: {
background: 'url('+ imgUrl + ') noRepeat center center fixed',
backgroundSize: 'cover',
}
Inspiré de cet article: Étire et redimensionne une image CSS en arrière-plan - avec CSS uniquement
Si vous utilisez une image en tant qu'arrière-plan, il est préférable d'utiliser la propriété 'backgroundImage'.
Si vous utilisez la propriété 'background', des problèmes peuvent survenir lors du rechargement du composant (l'attribut 'cover', par exemple, ne s'appliquera pas correctement).
Solution proposée:
let imgUrl = 'images/berlin.jpg';
<div className = 'Component-Bg'
style = {{ backgroundImage: 'url(' + imgUrl + ')',
backgroundSize: 'cover',
backgroundPosition: 'center center',
backgroundRepeat: 'no-repeat',
}}>
</div>