2012-01-11 19 views
2

下午好大師#1,CSS - > IE8填充背景:沒有孩子WHITE

我希望我能告訴你這個問題的確切的代碼,但我在安全方面的工作。我可以向你展示一個例子。

這裏是我的CSS

table tr.header{ 
background: url('image.jpg') 0 0 repeat-x !important; 
} 

table td{ 
background: none !important; 
color: #FFF !important; 
} 

td.special{ 
background:url('image2.png'); 0 0 no-repeat transparent !important; 
color: #FFF !important; 
} 

原因所有importants是,我試圖重寫系統神可怕的平淡CSS;簡單的顏色,狹窄的高度,沒有任何色彩。

這裏是我的普通HTML

<table width="100%" cellspacing="0" cellpadding="0" border="0"> 
    <tbody> 
     <tr class="header"> 
     <td>HEADER TITLE</td> 
     <td class="special"></td> 
     <tr> 
     <td>TABLE CONTENT</td> 
     </tr> 
    </tbody> 
</table> 

我的<tbody>標籤道歉,但系統會自動將<tbody>標籤每個表。

我遇到的問題只是在IE8中,我有一個表格行類「標題」的設置圖像和所有表格數據顯示爲無背景,但IE8喜歡用白色填充表格數據。我可以看到表格的行的背景圖像,如果我進入開發人員工具並關閉表格數據的CSS,但不應該有任何內容反正...

如何強制表數據(標有「特殊」的除外)在IE8中100%清晰透明?

+3

你爲什麼要爲''標籤道歉? – BoltClock 2012-01-11 22:04:43

+0

如果你正在使用!重要的是你正在走向一個不幸的陷阱。你應該閱讀這個:http://coding.smashingmagazine.com/2007/07/27/css-specificity-things-you-should-know/ – 2012-01-11 22:08:47

回答

1

我怎麼可以強制表數據(除標有「特殊」的一個) 100%清澈透明的IE8?

將下面的代碼放在名爲ie8.css的外部樣式表中。

table, 
table td { 
    background: transparent; 
} 

table td.special { 
    background: url('image2.png'); 0 0 no-repeat transparent; 
    color: #FFF; 
} 

然後將此代碼添加到您的頁面。

<!--[if IE 8]><link rel="stylesheet" href="ie8.css" /><![endif]--> 
+0

不幸的是,我試過背景色:透明,而我獲得相同的結果。 IE8開發人員工具中列出的每個TD的背景元素如下: 'background:none transparent scroll repeat 0%0%; background-color:#3B73B9;' 我甚至列出了background-color:transparent as!important。不幸的是,我想我無法添加IF CONDITIONALS。我幾乎修改了一個門戶網站的模板系統。 「模板」系統是相當嚴格的,但無聊和無菌。我會看看我能用javascript做什麼,但是有沒有非IF解決方案? – Murphy1976 2012-01-12 14:57:23

+0

另外,這可能甚至不是一個CSS IE問題,我有一個完全相同的CSS mods在另一個網站上的副本...相同的CSS,相同的JavaScript,相同的jQuery和表格在IE8中正確顯示。所以,我對IE8的吸引力可能只是一個紅鯡魚的整個分歧。不過,我仍然討厭IE8。 – Murphy1976 2012-01-12 15:00:00

1

background-color:transparent應該可以工作,但它不會挖掘它下面的元素。如果它下面的元素有顏色,你會看到那種顏色。

0

嘗試把: -

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

在文檔的頂部(在<HTML>標記之前)。它爲我解決了這個問題(並且也移動了一大堆東西!我討厭IE8!)。