Como seu conteúdo deve ser dinâmico, você pode definir as propriedades css do modal dinamicamente no show
evento do modal, que redimensionará o modal substituindo suas especificações padrão. O motivo de ser bootstrap aplica-se a altura máxima ao corpo modal com a regra css conforme abaixo:
.modal-body {
position: relative;
overflow-y: auto;
max-height: 400px;
padding: 15px;
}
Portanto, você pode adicionar estilos embutidos dinamicamente usando o css
método jquery :
Para versões mais recentes do uso de bootstrap 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%'
});
});
Para versões mais antigas do uso de bootstrap show
$('#modal').on('show', function () {
$(this).find('.modal-body').css({
width:'auto', //probably not needed
height:'auto', //probably not needed
'max-height':'100%'
});
});
ou use uma regra css para substituir:
.autoModal.modal .modal-body{
max-height: 100%;
}
e adicione esta classe autoModal
aos seus modais de destino.
Altere o conteúdo dinamicamente no fiddle, você verá o modal sendo redimensionado de acordo. Demo
A versão mais recente do bootstrap consulte o disponível event names
.
- show.bs.modal Este evento é disparado imediatamente quando o método show instance é chamado. Se causado por um clique, o elemento clicado fica disponível como a propriedade relatedTarget do evento.
- mostrado.bs.modal Este evento é disparado quando o modal torna -se visível para o usuário (irá aguardar a conclusão das transições CSS). Se causado por um clique, o elemento clicado fica disponível como a propriedade relatedTarget do evento.
- hide.bs.modal Este evento é disparado imediatamente quando o método de instância ocultar é chamado.
- hidden.bs.modal Este evento é disparado quando o modal termina de ser escondido do usuário (irá aguardar a conclusão das transições CSS).
- carregado.bs.modal Este evento é disparado quando o modal carrega o conteúdo usando a opção remota.
Versão mais antiga do bootstrap modal events compatível.
- Show - Este evento é disparado imediatamente quando o método de instância show é chamado.
- mostrado - Este evento é disparado quando o modal torna-se visível para o usuário (irá aguardar a conclusão das transições css).
- hide - Este evento é disparado imediatamente quando o método de instância hide é chamado.
- oculto - Este evento é disparado quando o modal termina de ser oculto do usuário (irá aguardar a conclusão das transições css).
$('#modal').on('show.bs.modal', function () {
getbootstrap.com/javascript/#modals-eventsIsso funcionou para mim, nenhuma das opções acima funcionou.
fonte
Não consegui que a resposta do PSL funcionasse para mim, então descobri que tudo o que tenho a fazer é definir o div que contém o conteúdo modal
style="display: table;"
. O próprio conteúdo modal diz quão grande ele deseja ser e o modal o acomoda.fonte
Há muitas maneiras de fazer isso se você quiser escrever css, então adicione o seguinte
Caso você queira adicionar inline
Não adicione
display:table;
à classe de conteúdo modal. ele fez seu trabalho, mas preparou seu modal para um tamanho grande, veja as imagens a seguir. a primeira imagem é se você adicionar estilo ao diálogo modal, se você adicionar estilo ao conteúdo modal. parece disposto.fonte
para bootstrap 3 use como
fonte
Css simples funciona para mim
fonte
Eu simplesmente substituo o css:
fonte
definido
width:fit-content
no div modal.fonte
Você pode fazer isso se usar o plug-in de diálogo jquery de gijgo.com e definir a largura como automática.
Você também pode permitir que os usuários controlem o tamanho se definir redimensionável como verdadeiro. Você pode ver uma demonstração sobre isso em http://gijgo.com/Dialog/Demos/bootstrap-modal-resizable
fonte
Uma solução CSS simples que centralizará vertical e horizontalmente o modal:
fonte
Para Bootstrap 2, ajuste automaticamente a altura do modelo dinamicamente
fonte
Eu tive o mesmo problema com o bootstrap 3 e a altura do div do corpo modal não querendo ser maior que 442 px. Este foi todo o css necessário para corrigi-lo no meu caso:
fonte
A minha solução foi apenas adicionar o estilo abaixo.
<div class="modal-body" style="clear: both;overflow: hidden;">
fonte
No Bootstrap 4 - tem um estilo de:
então, se você está procurando redimensionar a largura modal para um pouco mais de largura, sugiro usar isso em seu css, por exemplo:
Observe que a configuração
width: 87vw;
não substituirá a do bootstrapmax-width: 500px;
.fonte
Minha pesquisa me trouxe até aqui, então poderia muito bem adicionar meus dois centavos de ideia. Se você estiver usando o modal Bootstrap do Twitter amigável do Monkey , você pode fazer algo assim:
Espero que isto ajude.
fonte