我第一次玩HTML5 / CSS3,并在我的一个页面上使用了一个很好的wee链接来显示对话框(模态)。
这就像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; }
答案 0 :(得分:2)
在您编写-webkit-,-moz-或-o-的所有标签中,您没有写过-ms-这是Internet Explorer的前缀。 转换根本无法在Internet Explorer中运行,您可以在w3schools
中看到Internet Explorer支持波阿斯
答案 1 :(得分:1)
IE9 does not support CSS pointer-events
。在所有浏览器中,对话框在整个页面上都是不可见的(不透明地)呈现,但在IE9中,指针事件不被忽略,因此对话框阻止了锚点上的click事件。
可能有一种更简洁的解决方法,但作为一种解决方法,您可以使用conditional comments在IE的单独样式表中添加以下属性。
.modalDialog {
display:none;
}
.modalDialog:target {
display:block;
}
另一种解决方法是提供<a>
位置和z-index&gt;对话框的z-index。
此外,IE9中的CSS transition
is not supported因此您可能需要寻找替代方案,IE < 9 CSS3 Transition Effect Cheats?可能有所帮助。