为什么我的背景图像在IE7中无法正常显示?

时间:2010-10-13 20:04:24

标签: css internet-explorer-7 background-image css-sprites

问题的屏幕截图:此处

问题网页:http://cure.org

违规浏览器:Internet Explorer 7

您将从屏幕截图中注意到,或者如果您在IE7中查看此网站,则背景图像不会显示内容div(#modal-inner-content)。奇怪的是,图像显示在使用它的其他div中(因为它是一个精灵,我在#modal-top-border和#modal-btm-border使用相同的图像)。

在所有其他浏览器中,它显示正常,甚至在IE8中。我似乎无法找到我可能正在使用的CSS规则(或缺少)IE7令人窒息。

注意:要获取模态屏幕,只需点击页面最顶部横幅上的链接“登录您的CURE帐户

8 个答案:

答案 0 :(得分:9)

我在IE 7中遇到了同样的问题,透明的PNG充当<div>内的背景。将背景定位在(0 | 0)为我修复它:

background: url("images/bg-header.png") no-repeat 0 0;

答案 1 :(得分:3)

我遇到了同样的问题,IE7中没有显示带图形背景的按钮。

IE7似乎存在带边框的HTML元素的问题,因为设置border-width:0解决了我的问题。

答案 2 :(得分:2)

我只记得IE7在后台位置属性中有混合单元的问题。所以-636px top应该是-636px 0

答案 3 :(得分:1)

您是否正在使用某些修复IE和png图像?

如果我没记错的话,大多数使用IE的filter css属性来启用背景图像透明度的插件/方法使背景不可重复。

可能是它..

答案 4 :(得分:1)

我同意FutureKode。关于#modal-inner-content的背景没有显示,因为IE不认为元素hasLayout,这有时会导致其他样式声明出现问题。要触发hasLayout,我看到的最简单的方法是将宽度为div的样式设置为:576px(Firebug告诉我该div的宽度是什么)。我假设那个盒子的宽度永远不会改变?

有关hasLayout的更多信息,以及触发它的内容:http://www.satzansatz.de/cssd/onhavinglayout.html

答案 5 :(得分:0)

不确定为什么图像没有出现在IE7中,但这可能是一个很好的中间修复。如果图像没有显示,则应添加白色背景。

尝试更改#modal-inner-content:

background: url(http://cure.org/img/modal-bg-xy.png?jcb=1284407379) repeat-y -636px 0%;

为:

background: url(http://cure.org/img/modal-bg-xy.png?jcb=1284407379) #fff repeat-y -636px 0%;

---编辑 - 不要使用以上答案---

尝试将网址包装在引号中:

background: url("http://cure.org/img/modal-bg-xy.png?jcb=1284407379") repeat-y -636px 0%;

答案 6 :(得分:0)

我需要安装ie7。我的第一个尝试是为#modal-inner-content

添加一个宽度

答案 7 :(得分:0)

使用clear-rule:

clear:both;