中心角度模态ui

Mdb*_*Mdb 13 angularjs angular-ui-bootstrap

我正在玩角度模态ui对话框.我想知道它的中心方式是什么?我发现了一个类似的问题: Twitter Bootstrap - Center Modal Dialog

但无法使它工作,因为我对角度很新.以下是角度ui组件页面中用于模态对话的plunker的简化版本:

http://plnkr.co/edit/M35rpChHYThHLk17g9zU?p=preview

<script type="text/ng-template" id="myModalContent.html">
        <div class="modal-header">
            <h3>I'm a modal!</h3>
        </div>
        <div class="modal-body">
            test
        </div>
        <div class="modal-footer">
            <button class="btn btn-primary" ng-click="ok()">OK</button>
            <button class="btn btn-warning" ng-click="cancel()">Cancel</button>
        </div>
    </script>

    <button class="btn btn-default" ng-click="open()">Open me!</button>
Run Code Online (Sandbox Code Playgroud)

JS:

angular.module('plunker', ['ui.bootstrap']);
var ModalDemoCtrl = function ($scope, $modal) {

  $scope.open = function () {

    var modalInstance = $modal.open({
      templateUrl: 'myModalContent.html',
      controller: ModalInstanceCtrl
    });

  };
};


var ModalInstanceCtrl = function ($scope, $modalInstance) {

  $scope.ok = function () {
    $modalInstance.close("ok");
  };

  $scope.cancel = function () {
    $modalInstance.dismiss("cancel");
  };
};
Run Code Online (Sandbox Code Playgroud)

我的想法是在模态打开时动态获取页面的尺寸并调整大小并使其居中,但我不知道我怎么能这样做,因为我对angularjs很新.任何有关工作示例的帮助将不胜感激.

M22*_*2an 29

您可以windowClass在创建时使用属性为模态窗口指定样式类modalInstance

var modalInstance = $modal.open({
      templateUrl: 'myModalContent.html',
      controller: 'ModalInstanceCtrl',
      windowClass: 'center-modal'
    });
Run Code Online (Sandbox Code Playgroud)

然后在你的CSS中你可以指定.center-modal的定义,如,

.center-modal {
    position: fixed;
    top: 10%;
    left: 18.5%;
    z-index: 1050;
    width: 80%;
    height: 80%;
    margin-left: -10%;
}
Run Code Online (Sandbox Code Playgroud)

或根据您的需要指定任何内容

  • 示例css确实会重新定位模式对话框,但也会通过在对话框周围调整模式包装器的大小/重新定位来打破对话框关闭对话行为.如http://stackoverflow.com/a/21312755中所述,定位.modal-dialog将避免此问题. (6认同)