mon en-tête est une image .png et je lui ai donné le class="responsive-img"
mais l'en-tête semble gros .. comment changer la hauteur et la largeur mais la garder plus petite?
Bootstrap 4 a introduit quelques nouvelles classes concernant les images .
Les images réactives sont maintenant .img-fluid
Les images en Bootstrap sont rendues réactives avec .img-fluid. Max-width: 100%; et height: auto; sont appliquées à l'image afin qu'elle évolue avec l'élément parent.
exemple:
<img src="..." class="img-fluid" alt="Responsive image">
Qu'est-ce que img-fluid
faire?
.img-fluid {
max-width: 100%;
height: auto;
}
Les images utilisées comme vignettes sont .img-thumbnail
.bd-placeholder-img {
font-size: 1.125rem;
text-anchor: middle;
}
div {
width: 100%;
background-color: lightgreen;
margin-bottom: 10vh;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous"><script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script>
<!-- img-fluid -->
<div>
<svg class="bd-placeholder-img img-fluid" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid slice" focusable="false" role="img" aria-label="Placeholder: 200x200"><title>Placeholder</title><rect fill="#868e96" width="100%" height="100%"></rect><text fill="#dee2e6" dy=".3em" x="50%" y="50%">img-fuid</text></svg>
</div>
.bd-placeholder-img {
font-size: 1.125rem;
text-anchor: middle;
}
div {
width: 100%;
background-color: lightgreen;
margin-bottom: 10vh;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous"><script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script>
<!-- img-thumbnail -->
<div>
<svg class="bd-placeholder-img img-thumbnail" width="200" height="200" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid slice" focusable="false" role="img" aria-label="Placeholder: 200x200"><title>Placeholder</title><rect fill="#868e96" width="100%" height="100%"></rect><text fill="#dee2e6" dy=".3em" x="50%" y="50%">200x200</text></svg>
</div>
Tout d'abord, c'est class="img-responsive"
et pas class="responsive-img"
Cette classe elle-même ne vous mènera pas loin car elle ne fait que ceci:
.img-responsive{
display: block;
max-width: 100%;
height: auto;
}
Je vous recommande d'écraser la classe et d'ajouter les détails de ce que vous voulez. Si vous souhaitez uniquement modifier la hauteur et la largeur (et les garder réactives et plus petites), voici un exemple de base:
.img-responsive {
max-width: 90%; /* or to whatever you want here */
max-height: auto; /* or to whatever you want here */
}
Toucher la hauteur déformera votre image réactive (sauf si c'est ce que vous voulez), donc je vous recommande de jouer avec la largeur max. Essayez également d'ajouter une largeur minimale.
Vous pouvez aussi utiliser @media
, si vous savez déjà comment votre image est censée regarder des tailles de fenêtre spécifiques:
/* start of desktop styles */
@media screen and (max-width: 991px) {
/* start of large tablet styles */
.img-responsive {
min-width: 70%;
}
}
@media screen and (max-width: 767px) {
/* start of medium tablet styles */
/* Adding a fixed/percentage min-width could ensure that the image doesn't get too small */
.img-responsive {
min-width: 30%;
}
}
@media screen and (max-width: 479px) {
/* start of phone styles */
/* It's possible to hide the image if the screen becomes too small */
.img-responsive {
min-width: 10%;
}
}