【问题标题】:HTML5/CSS3 Modal Box Compatibility with IEHTML5/CSS3 模态框与 IE 的兼容性
【发布时间】:2012-11-27 14:22:25
【问题描述】:

我是第一次使用 HTML5/CSS3,并且在我的一个页面上使用了一个不错的链接到对话框(模式)显示。

这在 Chrome/Firefox 中就像一个梦想,但在 IE 中却不是(可能不是一个巨大的惊喜)。

在 IE (9) 中,当尝试单击链接时,页面实际上完全冻结..

谁能指出 CSS 的哪一部分不兼容以及是否有可用的修复?

代码如下,在此先感谢。

HTML

 <td><a href="#Code1">Get Date / Without Time</a></td>


 <div id="Code1" class="modalDialog">

 <div>

<a href="#close" title="Close" class="close">X</a>
<h2>TITLE</h2>
<p>TEXT</p>
        </div>
        </div>

CSS

.modalDialog {
        position: fixed;
        font-family: "Trebuchet MS", Helvetica, sans-serif;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        overflow: auto;
        background: rgba(0,0,0,0.8);
        z-index: 99999;
        opacity:0;
        -webkit-transition: opacity 400ms ease-in;
        -moz-transition: opacity 400ms ease-in;
        transition: opacity 400ms ease-in;
        pointer-events: none;
    }

    .modalDialog:target {
        opacity:1;
        pointer-events: auto;
    }

    .modalDialog > div {
        width: 40%;
        height: auto;
        position: relative;
        margin: 10% auto;
        padding: 5px 20px 13px 20px;
        border-radius: 10px;
        background: #FFFFFF;
        background: -moz-linear-gradient(#FFFFFF, #999999);
        background: -webkit-linear-gradient(#FFFFFF, #999999);
        background: -o-linear-gradient(#FFFFFF, #999999);
    }

    .close {
        background: #285C82;
        color: #FFFFFF;
        line-height: 25px;
        position: absolute;
        right: -12px;
        text-align: center;
        top: -10px;
        width: 24px;
        text-decoration: none;
        font-weight: bold;
        -webkit-border-radius: 12px;
        -moz-border-radius: 12px;
        border-radius: 12px;
        -moz-box-shadow: 1px 1px 3px #000;
        -webkit-box-shadow: 1px 1px 3px #000;
        box-shadow: 1px 1px 3px #000;
    }

    .close:hover { color: #285C82; background: #FFFFFF; }

【问题讨论】:

    标签: html internet-explorer css cross-browser


    【解决方案1】:

    在所有你写 -webkit-、-moz- 或 -o- 的标签中,你没有写 -ms- 这是 Internet Explorer 的前缀。 过渡在 Internet Explorer 中根本不起作用,您可以在 w3schools 中查看 Internet Explorer 支持

    博阿斯

    【讨论】:

      【解决方案2】:

      IE9 does not support CSS pointer-events。在所有浏览器中,对话框以不可见(不透明)的方式呈现在整个页面上,但在 IE9 中,指针事件被忽略,因此对话框阻止了锚点上的单击事件。

      可能有一种更简洁的方法可以解决此问题,但作为一种解决方法,您可以使用 conditional comments 在单独的 IE 样式表中添加以下属性。

      .modalDialog {
          display:none;
      }
      
      .modalDialog:target {
          display:block;
      }
      

      另一种解决方法是给&lt;a&gt; 位置和z-index > 对话框的z-index。

      此外,IE9 中的 CSS transition is not supported 因此您可能需要寻找替代方案,也许 IE < 9 CSS3 Transition Effect Cheats? 会有所帮助。

      【讨论】:

      • 会需要一段时间,IE10也不支持pointer-events
      猜你喜欢
      • 1970-01-01
      • 2015-11-17
      • 1970-01-01
      • 2018-02-22
      • 1970-01-01
      • 2011-11-16
      • 1970-01-01
      • 2011-05-04
      相关资源
      最近更新 更多