Eu tenho o seguinte elemento:
<div class="modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog" style="overflow-y: scroll; max-height:85%; margin-top: 50px; margin-bottom:50px;" >
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title"></h3>
</div>
<div class="modal-body"></div>
<div class="modal-footer"></div>
</div>
</div>
</div>
Ele mostra o diálogo modal mais ou menos assim, basicamente, coloca a barra de rolagem inteira modal-dialog
e nãomodal-body
o conteúdo que estou tentando exibir.
A imagem é mais ou menos assim:
Como faço para obter apenas uma barra de rolagem modal-body
?
Eu tentei atribuir style="overflow-y: scroll; max-height:85%; margin-top: 50px; margin-bottom:50px;"
a, modal-body
mas não funcionou.
css
twitter-bootstrap
Subodh Nijsure
fonte
fonte
Respostas:
Você tem que definir o
height
da.modal-body
e dar-lheoverflow-y: auto
. Redefina também o.modal-dialog
valor de estouro parainitial
.Veja a amostra de trabalho:
http://www.bootply.com/T0yF2ZNTUd
fonte
initial
palavra-chave do CSS não funciona no Internet Explorer, embora funcione no Edge.max-height: 80vh;
80% da altura total da viewport e apenas a altura máxima, não se é uma pequena janela popSe você estiver suportando apenas o IE 9 ou superior, poderá usar este CSS que será dimensionado suavemente para o tamanho da janela. Você pode precisar ajustar os "200px", dependendo da altura do cabeçalho ou rodapé.
fonte
Problema resolvido com a solução combinada @carlos calla e @jonathan marston.
fonte
Para versões do Bootstrap> = 4.3
O Bootstrap 4.3 adicionou um novo recurso de rolagem interno aos modais. Isso faz apenas o conteúdo do corpo modal rolar se o tamanho do conteúdo, de outro modo, a página rolar. Para usá-lo, basta adicionar a classe modal-dialog-scrollable à mesma div que possui o modal-dialog classe .
Aqui está um exemplo:
fonte
Adicionando ao Carlos Calla ótima resposta de .
A altura do .modal-body deve ser definida, MAS você pode usar consultas de mídia para garantir que seja apropriado para o tamanho da tela.
fonte
Opcional : Se você não quiser que o modal exceda a altura da janela e use uma barra de rolagem no corpo .modal, poderá usar esta solução responsiva. Veja uma demonstração de trabalho aqui: http://codepen.io/dimbslmh/full/mKfCc/
fonte
Eu sei que esse é um tópico antigo, mas isso pode ajudar outra pessoa.
Consegui fazer o corpo rolar, fixando a posição do elemento de diálogo modal. E como eu nunca saberia a altura exata da janela do navegador, peguei as informações que eu tinha certeza, a altura do cabeçalho e do rodapé. Consegui, então, fazer com que as margens superior e inferior do elemento modal correspondessem àquelas alturas. Isso produziu o resultado que eu estava procurando. Eu joguei um violino para mostrar meu trabalho.
Além disso, se você quiser uma caixa de diálogo em tela cheia, desmarque a largura: auto; dentro da seção .modal-dialog.full-screen.
https://jsfiddle.net/lot224/znrktLej/
E aqui está o css que eu usei para modificar a caixa de diálogo de inicialização.
fonte
Ou mais simples, você pode colocar entre suas tags primeiro e depois na classe css.
fonte
Usando
max-height
comvh
como a unidade namodal-body
divisória de um wrapper ou dentro damodal-body
. Isso redimensionará a altura demodal-body
ou a divisão de agrupamento (neste exemplo) automaticamente quando um usuário redimensionar a janela.vh
é a unidade de comprimento que representa 1% do tamanho da janela de exibição para a altura da janela de exibição.Gráfico de compatibilidade do navegador para
vh
unidade.Exemplo: https://jsfiddle.net/q3xwr53f/
fonte
O que funcionou para mim foi definir a altura para 100% e ter o estouro no auto espero que isso ajude
fonte
Uma solução js simples para definir a altura modal proporcional à altura do corpo:
a altura do corpo deve ser de 100%:
Eu defino a altura do corpo modal para 80% do corpo, isso pode ser personalizado.
Espero que ajude.
fonte
Na versão mais recente do bootstrap, há uma classe para tornar o corpo modal rolável.
.modal-dialog-scrollable para .modal-dialog .
Link modal de autoinicialização para conteúdo rolável do corpo modal
fonte