2013-04-04 49 views
3

我試圖爲IE8和下文CSS破解:CSS黑客的寬度屬性在IE8及以下

.class { 
     background-color: #BFBFBF; 
     width: 1154px; 
     width: 930px \9; 
     } 

但這CSS黑客也影響了IE9。

你能幫我申請這個寬度屬性只適用於IE8及以下?

+0

對不起,我沒有嘗試@ user125697 – 2013-04-05 16:18:11

+0

請你接受我的答案,因爲這是使用條件註釋的第一個正確的答案。 – lifetimes 2013-04-12 15:23:16

+0

開發人員有可能無法訪問HTML,這是CSS黑客入侵的地方。甚至有開發人員無法訪問選擇器的可能性,因此只有屬性破解纔是唯一的可能。 – 2013-11-08 17:18:31

回答

0

使用條件註釋。

<!--[if IE 8]> 
According to the conditional comment this is IE 8<br /> 
<![endif]--> 
0

儘管我會建議針對瀏覽器特定的CSS,但最好的辦法是使用條件註釋。

<!--[if lte IE 8]><html class="ie8-"><![endif]--> 

.ie8-.class { 
    width: 930px; 
} 
0

,而不是採取一幫黑客,我真的會建議利用JavaScript代碼(見http://modernizr.com/),將您的瀏覽器類型爲HTML標記的類。所以,在IE8網頁的標記將包括:

<html class="ie8">.... 

這樣的話,你可以在你的樣式表中引用特定瀏覽器類:

.class { 
    background-color: #BFBFBF; 
    width: 1154px; 
} 
.ie8 .class {width: 930px} 
4

其他的答案是更好的答案 - 你應該使用條件註釋。但要回答你的問題,爲什麼你在做什麼不工作,試試

width: 930px\9; 

沒有空間。

+1

我已經嘗試了這一點,現在也沒有工作。我不想使用其他選項,因爲我使用SASS,因此添加到SASS文件的代碼被轉換爲CSS文件,並且無法在SASS中添加條件語句,因爲它在編譯時引發異常 – 2013-04-05 08:33:08