76 votes

Largeur modale (augmentation)

Je souhaite qu'une modale occupe environ 80 % de la largeur de l'écran. modal-lg n'est pas assez grande. Ceci :

.modal .modal-dialog {
  width: 80%;
}

Ne fonctionne pas avec Bootstrap 4.

0 votes

Dans bootstrap 3, j'utilise simplement modal-lg y modal-sm pour avoir de grandes et de petites modales. Vous pouvez également écraser l'option .modal-lg dans votre css.

115voto

claudios Points 3559

Vous pouvez créer ou simplement remplacer le bootstrap par défaut. modal-lg en faisant ce qui suit :

.modal-lg {
    max-width: 80%;
}

Si cela ne fonctionne pas, ajoutez simplement !important afin que cela ressemble à ce qui suit

.modal-lg {
    max-width: 80% !important;
}

Maintenant, appelez le modal-lg .

<div class="modal-dialog modal-lg" role="document">
 <!-- some modal content --->
</div

115voto

kitsu.eb Points 587

Bootstrap 4 comprend dimensionnement des services publics . Vous pouvez modifier la taille à 25/50/75/100% de la largeur de la page (j'aimerais qu'il y ait encore plus d'incréments).

Pour les utiliser, nous remplacerons le modal-lg classe. La largeur par défaut et la modal-lg utiliser le css max-width pour contrôler la largeur de la modale, il faut d'abord ajouter l'option mw-100 pour désactiver efficacement la classe max-width . Ensuite, il suffit d'ajouter la classe de largeur que vous voulez, par ex. w-75 .

Notez que vous devez placer le mw-100 et w-75 dans le div avec le modal-dialog et non la classe modal div par exemple,

<div class='modal-dialog mw-100 w-75'>
    ...
</div>

16 votes

C'est la vraie réponse.

1 votes

Mais est-ce bien réactif ? J'ai changé pour une fenêtre modale, mais pour la fenêtre mobile, la classe est conservée. Une modale-lg ne le fera pas, je pense.

1 votes

@AlanPallath Toute utilisation des classes de largeur peut potentiellement nuire à la réactivité. Il y avait une proposition pour des classes de largeur réactives (ex. w-lg-100 ), mais les mainteneurs de bootstrap n'ont pas voulu les ajouter.

27voto

Joel Enanod Jr Points 18

Pour une réponse réactive.

@media (min-width: 992px) {
  .modal-dialog {
    max-width: 80%;
  }
}

0 votes

C'est la bonne réponse, la réponse de kitsu.eb casse la modale dans les tailles xs, merci @Joel

9voto

CeezS Points 31

Dans Bootstrap 4, vous devez utiliser l'attribut "max-width" et cela fonctionne parfaitement.

<div id="modal_dialog" class="modal fade" tabindex="-1" role="dialog" style="display: none;">
<div class="modal-dialog" style="max-width: 1350px!important;" role="document">
    <div class="modal-content">
        <div class="modal-body">
            Sample text
        </div>
    </div>
</div>

3voto

Unknown_Coder Points 615

Il suffit d'utiliser !important après avoir donné la largeur de la classe qui surcharge votre classe.

Par exemple

.modal .modal-dialog {
  width: 850px !important;
}

J'espère que cela vous conviendra.

0 votes

Il fonctionne mais n'est pas réactif, pour l'iPhone il ne fonctionne pas

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X