Bootstrap modal垂直居中

        在网上看到有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));
        }
    });    
});

  

你可能感兴趣的:(bootstrap)