0

我知道标题看起来可能已经有人问过这个问题,但是在搜索了很多之后,我找不到我的答案,所以我问这个。我也在其他几个地方找到了,但我找不到合适的解决方案。我想,我可以在这里得到帮助。

我有一个输入类型的文本框字段,我正在使用 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>

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

4

1 回答 1

0

当涉及到不正确的 HTML 时,IE7 非常“挑剔”。如果您使用正确的 HTML,可以纠正很多错误,阻止浏览器进入quirks 模式

用户小写 HTML,引用您的属性,使用 doctype。

检查您的 CSS,为同一元素/类设置 2 个图像,因此根据您提供的 CSS,您只会看到最后一个:

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

在你的 CSS 中,是否有一个position: relativefor .errorFieldIconOwner,也许是因为绝对定位,你看不到图像?

于 2013-02-12T12:29:23.510 回答