Android上的Bootstrap 3长模态滚动背景

时间:2013-07-31 08:44:46

标签: android scroll modal-dialog twitter-bootstrap-3

我有一个很长的模态,没有完全显示在我的Android移动设备上,按钮在屏幕下方,模态根本不滚动,但模态背后的灰色背景,是否有任何css / js技巧锁定背景并允许模态在显示时显示?

2 个答案:

答案 0 :(得分:5)

可能因为模态类的位置是固定的... 尝试将下面的代码放到你的css文件中,这对我有用......

@media (max-width: 767px) {
    .modal {
        position: absolute;
        overflow:visible;
    }
    .modal-open {
        overflow:visible;
    }
}

答案 1 :(得分:2)

这是假设用Bootstrap 3修复,但它对我不起作用。我能够通过组合-webkit-overflow-scrolling CSS属性和设置我的模态的最大高度来修复机智。由于我希望我的模态填满整个屏幕,我不得不连接一些javascript以检测移动设备并将我的.modal-content的最大高度设置为我设备的视口高度

以下是我使用名为jRespond:

的库解决此问题的方法

将此CSS添加到您的模态中

@media (max-width: $screen-xs-max) {
  .modal-dialog {
    .modal-content {
      -webkit-overflow-scrolling: touch;
      overflow-y: auto;
    }
  }
}

将jRespond添加到您的应用

https://github.com/ten1seven/jRespond/edit/master/js/jRespond.js

将以下代码添加到main.js脚本

    /* This code handles the responsive modal for mobile */
    var jRes = jRespond([{
      label: 'handheld',
      enter: 0,
      exit: 767
    }]);

    jRes.addFunc({
      breakpoint: 'handheld',
      enter: function() {
        $('.modal-content').css('max-height', $(window).height());
        $(window).on('orientationchange', function () {
          $('.modal-content').css('max-height', $(window).height());
        });
      },
      exit: function () {
        $('.modal-content').css('max-height', "");
        $(window).off('orientationchange');
      }
    });