2013-02-12 75 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 ,也許這是因爲絕對的定位,你沒有看到圖像?