ventana tamaño pantalla modal example desde completa cambiar bootstrap abrir jquery css twitter-bootstrap

jquery - tamaño - ventana modal bootstrap



Bootstrap 3: configure la altura de la ventana modal de acuerdo con el tamaño de la pantalla (5)

Para ampliar la respuesta de Ryand, si estás usando Bootstrap.ui, esto en tu instancia modal hará el truco:

modalInstance.rendered.then(function (result) { $(''.modal .modal-body'').css(''overflow-y'', ''auto''); $(''.modal .modal-body'').css(''max-height'', $(window).height() * 0.7); $(''.modal .modal-body'').css(''height'', $(window).height() * 0.7); });

Intento crear un tipo de megamenú receptivo usando el diálogo modal de Bootstrap 3. Me gustaría establecer el ancho y alto de toda la ventana modal al 80% de la ventana gráfica, mientras establezco el cuerpo modal a una altura máxima para no poblar toda la pantalla en grandes ventanas.

Mi HTML:

<div class="modal fade"> <div class="modal-dialog modal-megamenu"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">x</button> <h4 class="modal-title">Modal Mega Menu Test</h4> </div> <div class="modal-body"> <div class="row"> <div class="col-md-3"></div> <div class="col-md-3"></div> <div class="col-md-3"></div> <div class="col-md-3"></div> </div> </div> </div> <div class="modal-footer"> <button type="button" data-dismiss="modal" class="btn btn-primary">close</button> </div> </div> </div>

Mi CSS:

.modal-megamenu { width:80%; height:80%; } .modal-body { max-height:500px; overflow:auto; }

Esto funciona según lo previsto para el ancho, pero el parámetro "altura" no da ningún resultado. Así, la altura de la ventana modal siempre se establece en el valor de altura máxima. ¿Alguien tiene una idea de cómo establecer la altura de forma dinámica de acuerdo con la altura de la ventana gráfica?


Similar a Bass, también tuve que configurar el overflow-y. Eso realmente podría hacerse en el CSS

$(''#myModal'').on(''show.bs.modal'', function () { $(''.modal .modal-body'').css(''overflow-y'', ''auto''); $(''.modal .modal-body'').css(''max-height'', $(window).height() * 0.7); });


Solución de CSS puro, utilizando calc

.modal-body { max-height: calc(100vh - 200px); overflow-y: auto; }

200px se puede ajustar de acuerdo con la altura del encabezado y el pie de página


Supongo que quiere hacer un uso modal de la mayor cantidad de espacio de pantalla posible en los teléfonos. He creado un complemento para solucionar este problema de UX de los modos modales de Bootstrap en teléfonos móviles, puedes consultarlo aquí: https://github.com/keaukraine/bootstrap-fs-modal

Todo lo que tendrá que hacer es aplicar modal-fullscreen clase modal-fullscreen y actuará de forma similar a las pantallas nativas de iOS / Android.


Tratar:

$(''#myModal'').on(''show.bs.modal'', function () { $(''.modal-content'').css(''height'',$( window ).height()*0.8); });