J'utilise bootstrap jumbotron, y compris une image de fond. Le redimensionnement de l’écran rend l’image en mosaïque et la répétition, alors que je souhaite que l’image soit redimensionnée en conséquence.
<div class="jumbotron" style="background-image: url(http://www.californiafootgolfclub.com/static/img/footgolf-1.jpg); background-size: 100%;">
<div class="container for-about">
<h1>About</h1>
</div>
</div>
Comment feriez-vous pour rendre l'image sensible? Le site est ICI . Merci pour vos idées!
Le moyen le plus simple consiste à définir la taille de l'arrière-plan sur "couverture".
.jumbotron {
background-image: url("../img/jumbotron_bg.jpg");
background-size: cover;
}
Steve
C'est ce que j'ai fait.
Commencez par remplacer la classe jumbotron et procédez comme suit:
.jumbotron{
background: url("bg.jpg") no-repeat center center;
-webkit-background-size: 100% 100%;
-moz-background-size: 100% 100%;
-o-background-size: 100% 100%;
background-size: 100% 100%;
}
Donc, vous avez maintenant un jumbotron avec un arrière-plan réactif en place ..__ Cependant, comme Irvin Zhan a déjà répondu, la hauteur de l'arrière-plan ne s'affiche toujours pas correctement.
Une chose que vous pouvez faire est de remplir votre div avec des espaces tels que celui-ci:
<div class="jumbotron">
<div class="container">
About
<br><br><br> <!--keep filling br until the height is to your liking-->
</div>
</div>
Ou, plus élégamment, vous pouvez définir la hauteur du conteneur. Vous voudrez peut-être ajouter une autre classe afin de ne pas remplacer la classe de conteneur Bootstrap.
<div class="jumbotron">
<div class="container Push-spaces">
About
</div>
</div>
.Push-spaces
{
height: 100px;
}
J'ai trouvé que cela fonctionnait parfaitement pour moi:
.jumbotron {
background-image: url(/img/Jumbotron.jpg);
background-size: cover;
height: 100%;}
Vous pouvez redimensionner votre écran et il occupera toujours 100% de la fenêtre.
TLDR: Utilisez background-size: 100% 100%;
.
background-size: cover;
peut couper certaines parties de l'image et produire des résultats médiocres.
En utilisant background-size: 100% 100%;
, vous forcez l'image à reprendre 100%
de l'élément parent à la fois pour height
et width
.
Voir W3Schools pour plus d’informations à ce sujet.
Voici une image d'arrière-plan jumbotron
réactive et active:
<div class="jumbotron" style="background-image: url(http://yourImageUrl.jpg); background-size: 100% 100%;">
<h1>Welcome</h1>
<p class="lead">Your message here</p>
<p><a href="http://www.YourLinkHere.com" class="btn btn-primary btn-lg">Learn more »</a></p>
</div>
Voici comment je fais:
<div class="jumbotron" style="background: url(img/bg.jpg) no-repeat center center fixed; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover;">
<h1>Hello</h1>
</div>
Malheureusement, il n'y a aucun moyen de faire en sorte que la hauteur de div réponde à la taille de l'arrière-plan . La solution la plus simple que j'ai utilisée consiste à ajouter une balise img dans votre jumbotron contenant cette image d'arrière-plan.
Le code ci-dessous fonctionne pour tous les écrans:
.jumbotron {
background: url('backgroundimage.jpg') no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
background-size: cover;
-o-background-size: cover;
}
La propriété cover redimensionnera l’image d’arrière-plan afin de couvrir l’ensemble du conteneur, même si elle doit étirer l’image ou couper un peu l’un des bords.
Vous pouvez essayer ceci:
Il suffit de placer le code dans une balise de style dans la tête du fichier html
<style>
.jumbotron {
background: url("http://www.californiafootgolfclub.com/static/img/footgolf-1.jpg") center center / cover no-repeat;
}
</style>
ou le mettre dans un fichier css séparé comme indiqué ci-dessous
.jumbotron {
background: url("http://www.californiafootgolfclub.com/static/img/footgolf-1.jpg") center center / cover no-repeat;
}
utilisez center center pour centrer l’image horizontalement et verticalement . Utilisez cover pour que l’image remplisse l’espace jumbotron et enfin no-repeat afin que l’image ne se répète pas.