具有较高z索引的Angular UI Modal不在顶部 [英] Angular UI Modal with high z-index not on top

查看:85
本文介绍了具有较高z索引的Angular UI Modal不在顶部的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在此插件中我有一个Angular UI Modal,其Z-index大于div z-index,但是div覆盖了模式.如果单击div,您会看到该模式位于后面.

In this plunk I have an Angular UI Modal with a z-index larger than a div z-index, however the div is covering the modal. If you click on the div, you'll see that the modal is behind.

由于模态的z-index较大,因此我希望它位于div的顶部.该如何解决?

Since the z-index of the modal is larger, I expect it to be on top of the div. How can this be fixed?

HTML

<div class="div1" ng-click="hide()" ng-show="show" >
  CLICK ME
</div>


<script type="text/ng-template" id="myModalContent.html">

<div class="modal-header" ng-style="{'z-index': 99000}">
    <h4 class="modal-title">The Title</h4>
</div>
  SOME TEXT IN THE MODAL

</script>

JavaScript

Javascript

var app = angular.module('app', ['ui.bootstrap']);
app.controller('ctl', function ($scope,$uibModal) {

    $scope.show = true;

    (function() {
          $scope.modalInstance = $uibModal.open({
              templateUrl: 'myModalContent.html'
            }); 


    })();


    $scope.hide = function(){
      $scope.show = false;
    };

});

CSS

.div1 {
  position: fixed;
  z-index: 90000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: blue;
}

推荐答案

为使此工作有效,您必须为z-index属性创建自定义样式:

In order to make this work you must create a custom style for the z-index property:

.zindex {
  z-index: 99000 !important;
}

并将该类应用于模式窗口:

And apply the class to the modal window:

$scope.modalInstance = $uibModal.open({
      templateUrl: 'myModalContent.html',
      windowClass: 'zindex'
}); 

示例: http://plnkr.co/edit/4T5Om0EcFAh5i4WUgNYi?p=preview

这篇关于具有较高z索引的Angular UI Modal不在顶部的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆