2013-02-12 67 views
0

我知道标题看起来像问题可能已经被问过,但搜索了很多后,我找不到我的答案,所以我问这个。 我在其他几个地方也找到了,但我找不到合适的解决方案。我想,我可以在这里得到帮助。在IE7中的背景图像没有出现在加载

我有一个输入类型的文本框字段,我使用javascript动态地添加了一个div。这个div有一个class =“errorFieldIcon”属性。我在我的css文件中有这个类的定义。

当我尝试在IE7开发人员工具中调试它时,我发现此类的代码反映在Style选项卡中。但是,当我看到页面时,风格效果不会反映在页面上。我注意到,如果我只是去开发人员工具,并取消选中/检查样式选项卡中的任何CSS属性,我能够看到这个图像。

这对我来说是非常令人惊讶的,因为我第一次注意到这样的问题。每当加载页面时它不显示图像/图标,但是当我取消选中或检查任何CSS属性时,它将开始显示图像。

我的类代码为

.errorFieldIcon{ 
    background-image: url("../images/IcoMessageError.gif"); 
    height: 16px; 
    left: -18px; 
    position: absolute; 
    top: 3px; 
    width: 16px; 
} 

.errorFieldIcon { 
    background-image: url("../img/ico_error.png"); 
    background-repeat: no-repeat; 
} 

代码

<TD class="DefaultFontBlack errorHighlight" vAlign=center colSpan=2 align=left> 
<DIV id=etvErrIcon class=errorFieldIconOwner> 
    <DIV class=errorFieldIcon> 
    </DIV> 
</DIV> 
<INPUT value=123# type=text name=SITE_DK_NUMBER_RULE> 
</TD> 

,如果你需要更多的信息,我可以提供。由于我在本地运行它,因此无法提供链接。但我觉得这种描述应该足够了。

+0

为什么你在同一个元素上声明了两个图像作为背景? – 2013-02-12 12:17:42

+0

您已经为一个类定义了两次背景图像,所以只会选择在样式表底部声明的样式。 – Kingk 2013-02-12 12:35:49

回答

0

IE7在来错误的HTML时非常“挑剔”。 如果使用正确的HTML,则可以更正许多错误,从而停止浏览器进入quirks mode

用户小写HTML,引用您的属性,使用文档类型。

检查你的CSS,对同一元素/类设置2幅图像,所以根据您提供的CSS,你将只能看到最后一个:

.errorFieldIcon { 
    background-image: url("../img/ico_error.png"); 
    background-repeat: no-repeat; 
} 

在你的CSS,是有.errorFieldIconOwner一个position: relative ,也许这是因为绝对的定位,你没有看到图像?