Étant donné que votre contenu doit être dynamique, vous pouvez définir les propriétés css du modal de manière dynamique lors de l' show
événement du modal, ce qui redimensionnera le modal en remplaçant ses spécifications par défaut. La raison d'être bootstrap applique une hauteur maximale au corps modal avec la règle css comme ci-dessous:
.modal-body {
position: relative;
overflow-y: auto;
max-height: 400px;
padding: 15px;
}
Ainsi, vous pouvez ajouter des styles en ligne de manière dynamique en utilisant la css
méthode jquery :
Pour les nouvelles versions de bootstrap, utilisez show.bs.modal
$('#modal').on('show.bs.modal', function () {
$(this).find('.modal-body').css({
width:'auto', //probably not needed
height:'auto', //probably not needed
'max-height':'100%'
});
});
Pour les anciennes versions de bootstrap, utilisez show
$('#modal').on('show', function () {
$(this).find('.modal-body').css({
width:'auto', //probably not needed
height:'auto', //probably not needed
'max-height':'100%'
});
});
ou utilisez une règle css pour remplacer:
.autoModal.modal .modal-body{
max-height: 100%;
}
et ajoutez cette classe autoModal
à vos modaux cibles.
Changez le contenu dynamiquement dans le violon, vous verrez le modal se redimensionner en conséquence. Demo
La version plus récente de bootstrap voit le fichier disponible event names
.
- show.bs.modal Cet événement se déclenche immédiatement lorsque la méthode de l'instance show est appelée. S'il est provoqué par un clic, l'élément cliqué est disponible en tant que propriété relatedTarget de l'événement.
- montré.bs.modal Cet événement est déclenché lorsque le modal a été rendu visible à l'utilisateur (attendra la fin des transitions CSS). S'il est provoqué par un clic, l'élément cliqué est disponible en tant que propriété relatedTarget de l'événement.
- hide.bs.modal Cet événement est déclenché immédiatement lorsque la méthode d'instance hide a été appelée.
- hidden.bs.modal Cet événement est déclenché lorsque le modal a fini d'être caché à l'utilisateur (attendra la fin des transitions CSS).
- chargé.bs.modal Cet événement est déclenché lorsque le modal a chargé du contenu à l'aide de l'option remote.
Ancienne version de bootstrap modal events prise en charge.
- Show - Cet événement se déclenche immédiatement lorsque la méthode de l'instance show est appelée.
- montré - Cet événement est déclenché lorsque le modal a été rendu visible à l'utilisateur (attendra la fin des transitions css).
- hide - Cet événement est déclenché immédiatement lorsque la méthode d'instance hide a été appelée.
- hidden - Cet événement est déclenché lorsque le modal a fini d'être caché à l'utilisateur (attendra la fin des transitions css).
$('#modal').on('show.bs.modal', function () {
getbootstrap.com/javascript/#modals-eventsCela a fonctionné pour moi, rien de ce qui précède n'a fonctionné.
la source
Je ne pouvais pas faire fonctionner la réponse de PSL pour moi, alors j'ai trouvé que tout ce que j'avais à faire était de définir la div contenant le contenu modal avec
style="display: table;"
. Le contenu modal lui-même indique la taille qu'il souhaite et le modal l'adapte.la source
Il existe de nombreuses façons de le faire si vous souhaitez écrire du CSS, puis ajoutez ce qui suit
Dans le cas où vous souhaitez ajouter en ligne
N'ajoutez pas
display:table;
à la classe de contenu modal. il a fait votre travail mais disposez votre modal pour une grande taille, voir les captures d'écran suivantes. La première image est si vous ajoutez du style à la boîte de dialogue modale si vous ajoutez du style au contenu modal. il a l'air disposé.la source
pour bootstrap 3, utilisez comme
la source
Simple Css fonctionne pour moi
la source
Je remplace simplement le css:
la source
défini
width:fit-content
sur le div modal.la source
Vous pouvez le faire si vous utilisez le plugin jquery dialog de gijgo.com et définissez la largeur sur auto.
Vous pouvez également autoriser les utilisateurs à contrôler la taille si vous définissez redimensionnable sur true. Vous pouvez voir une démo à ce sujet sur http://gijgo.com/Dialog/Demos/bootstrap-modal-resizable
la source
Une solution CSS simple qui va centrer verticalement et horizontalement le modal:
la source
Pour Bootstrap 2 Auto ajuster la hauteur du modèle de manière dynamique
la source
J'ai eu le même problème avec bootstrap 3 et la hauteur de la div modal-body ne voulant pas être supérieure à 442px. C'était tout le css nécessaire pour le résoudre dans mon cas:
la source
Mine Solution était juste d'ajouter le style ci-dessous.
<div class="modal-body" style="clear: both;overflow: hidden;">
la source
Depuis Bootstrap 4 - il a un style de:
donc si vous cherchez à redimensionner la largeur modale à une largeur plus grande, je vous suggère de l'utiliser dans votre css par exemple:
Notez que ce paramètre
width: 87vw;
ne remplacera pas celui de bootstrapmax-width: 500px;
.la source
Ma recherche m'a conduit ici, alors autant ajouter mes deux cents d'idée. Si vous utilisez le modal Twitter Bootstrap convivial de Monkey, vous pouvez faire quelque chose comme ceci:
J'espère que cela t'aides.
la source