3

私は初めてHTML5/CSS3で遊んでいて、私のページの1つにあるダイアログ(モーダル)表示への素敵なリンクを使用しました。

これは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; }
4

2 に答える 2

2

-webkit-、-moz-、または-o-を記述したすべてのタグで、InternetExplorerのプレフィックスである-ms-を記述していません。移行はInternetExplorerではまったく機能しません。w3schoolsでInternetExplorerのサポートを確認できます。

ボアズ

于 2012-11-27T14:51:18.930 に答える
1

IE9はCSSをサポートしていませんpointer-events。すべてのブラウザで、ダイアログはページ全体に見えないように(不透明に)レンダリングされますが、IE9ではポインタイベントが無視されないため、ダイアログはアンカーのクリックイベントをブロックしています。

これを解決するためのよりクリーンな方法はおそらくありますが、回避策として、条件付きコメントを使用してIEの別のスタイルシートに次のプロパティを追加できます。

.modalDialog {
    display:none;
}

.modalDialog:target {
    display:block;
}

別の回避策は<a>、ダイアログの位置とz-index>z-indexを指定することです。

また、CSStransition はIE9でサポートされていないため、代替手段を探す必要があるかもしれません。おそらくIE <9 CSS3 Transition Effect Cheats?役立ちます。

于 2012-11-27T14:59:02.710 に答える