在网上看到有Bootstrap2的Modal dialog垂直居中问题解决方法,这种方法自己试了一下,并不能完全居中,并且窗口的大小不一样的话,每次显示的margin-top值也会改变,遮盖层还会出现滚动条,效果也不好看,代码如下:
- //在初始显示时设置垂直居中
- $('#YourModal').modal().css({
- 'margin-top': function () {
- return -($(this).height() / 2);
- }
- });
- //或者我们可以将这个效果注册到显示事件中:
- $('.modal').on('show', function() {
- $(this).css({
- 'margin-top': function () {
- return -($(this).height() / 2);
- }
- });
- });
今天正好遇到这个问题,不过我用的Bootstrap框架是Bootstrap3版本了,解决代码如下:
- $('#YourModal').on('show.bs.modal', function (e) {
- $(this).find('.modal-dialog').css({
- 'margin-top': function () {
- var modalHeight = $('#yourModal').find('.modal-dialog').height();
- return ($(window).height() / 2 - (modalHeight / 2));
- }
- });
- });