【发布时间】:2012-09-29 07:12:51
【问题描述】:
更新这似乎是 IE8 中 background 的问题。 CSS3 PIE 似乎可以正常工作,但是当我有背景时它不显示。如果我完全删除背景 css,它会再次显示。即:
html, body{
background: /*CSS */; /* Remove this property */
}
现在我的问题变成了如何让 CSS3 PIE 在具有背景的 IE 8 中正常工作?
Here is a jsFiddle 上面的代码。
原始问题
我正在尝试使用 CSS3 Pie JS 版在 IE 8 中复制外观。这是我想要的样子:
这是它在带有 CSS3 PIE 的 IE 8 中的外观:
正如您所见,当我实现 CSS3 PIE 时,框消失了!我之前没用过 CSS3 PIE,不知道哪里出了问题。这是我正在使用的代码:
注意:我使用的是 JS 版本(我使用的是托管 CMS,并且没有服务器端访问权限,因此无法使用.htc 文件。)
这是我调用 CSS3 Pie 的代码:
<!--[if lt IE 10]>
<script type="text/javascript" src="/js/PIE.js"></script>
<script type="text/javascript">
$(function() {
if (window.PIE) {
$('.surround').each(function() {
PIE.attach(this);
});
}
});
</script>
<![endif]-->
这是 HTML 和 CSS:
<div class="row surround">
<div class="twelvecol">
<p>Lorem Ipsum</p>
</div>
</div>
.surround
{
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
box-sizing: border-box;
padding: 25px;
background:#f5f2f7;
border: 5px solid #b30005;
-webkit-box-shadow: 0 5px 10px rgba(0,0,0,0.4);
-moz-box-shadow: 0 5px 10px rgba(0,0,0,0.4);
-o-box-shadow: 0 5px 10px rgba(0,0,0,0.4);
box-shadow: 0 5px 10px rgba(0,0,0,0.4);
-webkit-border-radius:25px;
-moz-border-radius: 25px;
-o-border-radius: 25px;
border-radius:25px;
border-top: solid #b30005 25px;
}
【问题讨论】:
-
题外话技术点:你应该把CSS样式的无前缀版本放在最后,在前缀版本之后。
-
@Spudley - 感谢您的提示。
-
为什么IE8截图在圆角应该在的方框中有空隙?那看起来不对。如果 css3pie 不起作用,我希望它会显示一个实心框,就像您根本没有圆角一样。
-
@Spudley - 我已经修改并重新编写了我的代码。 IE 8 现在一直显示栏,但仍然出现相同的问题。当我应用 CSS3 PIE 时,它所应用的类被删除。我已编辑我的问题以反映新代码。
-
当 CSS3Pie 使元素完全消失时,通常是
z-index问题——css3pie 网站在其已知问题页面中对此主题进行了详细讨论。该解决方案通常涉及添加 z-index 样式,但也可能涉及zoom:1或其他 IE hack。
标签: internet-explorer-8 css css3pie