簡體   English   中英

HTML5/CSS3 模態框與 IE 的兼容性

[英]HTML5/CSS3 Modal Box Compatibility with IE

我第一次使用 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; }

在你寫 -webkit-、-moz- 或 -o- 的所有標簽中,你沒有寫 -ms- 這是 Internet Explorer 的前綴。 過渡在 Internet Explorer 中根本不起作用,您可以在w3school 中看到 Internet Explorer 支持

波阿斯

IE9不支持CSS pointer-events 在所有瀏覽器中,對話框都在整個頁面上不可見(不透明)呈現,但在 IE9 中,指針事件不會被忽略,因此對話框阻止了錨點上的點擊事件。

可能有一種更簡潔的方法來解決這個問題,但作為一種變通方法,您可以使用條件注釋在 IE 的單獨樣式表中添加以下屬性。

.modalDialog {
    display:none;
}

.modalDialog:target {
    display:block;
}

另一種解決方法是給<a>位置和 z-index > 對話框的 z-index。

此外,IE9不支持CSS transition ,因此您可能需要尋找替代方案,也許IE < 9 CSS3 Transition Effect Cheats? 會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM