2013-05-02 29 views
0

在我的網頁,我使用的是2種樣式:內print-layout.cssIE7的XP修改媒體= 「打印」 樣式

<link rel="stylesheet" href="css/screen-layout.css" media="screen" type="text/css" /> 
<link rel="stylesheet" href="css/print-layout.css" media="print" type="text/css" /> 

有:

.ui-dialog * {display: none !important;} 

當我看到我的網頁在IE7上,它應該忽略media="print"之一,但它沒有,它應用了display: none,導致所有元素被隱藏。在IE7的debugbar插件中,我可以看到IE7應用了print-layout.css文件。這怎麼可能?或者我錯過了在IE7上使用打印的任何要求?

謝謝:)

+1

算了IE7,它是新的IE6。 – Kyle 2013-05-02 08:45:44

+1

@Kyle Sevenoaks:'忘記'是完美的解決方案,但客戶端要求=]] ... – hanhp 2013-05-02 09:01:54

+1

那麼爲什麼不向客戶解釋IE7不再是支持的可行選項。我們需要支持的時間與仍在使用它的用戶的數量是相同的,waaayy加權;) – Kyle 2013-05-02 09:05:40

回答

4

這句法的作品即使在IE7,但如果你需要從應用打印樣式排除瀏覽器,只是重寫你最後一次列入了這種方式:

<style type="text/css" rel="stylesheet"> 
    @import url('css/print-layout.css') print; 
</style> 

因爲IE7不是招在@import規則中沒有實現媒體類型。

否則只是包裝在一個條件註釋第二包容,像這樣

<!--[if (gte IE 8)]><!--> 
    <link rel="stylesheet"... media="print" /> 
<!--<![endif]--> 

所以你包括除IE < 8所有瀏覽器中的打印樣式。


補充說明:IE7的使用是全球< 1%
看到http://gs.statcounter.com/#browser_version-ww-monthly-201211-201304

+0

因此IE7只是盲目應用樣式表,不管它是什麼類型的媒體? – hanhp 2013-05-02 09:17:28

+0

IE7正確使用'style'標籤上的媒體打印,否則您將看不到任何元素(您將display:none設置爲全部UI對話框元素) – fcalderan 2013-05-02 09:22:24