2013-11-21 21 views
-1

我有別人幫我做我的網站響應,該網站不低於IE8的工作,因爲它使用的是不是有些HTML5和CSS3特性支持的。所以說,我有一個CSS類,只是一個星號。我認爲這是對IE7的破解。現在問題在於,這是媒體打印的媒體查詢。這對於印刷媒體有不同的含義嗎?我可以刪除星號並只添加需要改變的類名稱嗎?下面是它的外觀:我應該刪除從CSS星號,如果網站沒有在<工作IE8

@media print { 
    * { 
     background: transparent !important; 
     color: black !important; 
     box-shadow:none !important; 
     text-shadow: none !important; 
     filter:none !important; 
     -ms-filter: none !important; 
    } 
} 
+1

你是顯示的CSS不應該能夠引起瀏覽器的任何問題。另外,你爲什麼應該刪除星號? – putvande

+1

'@media print'部分下的CSS屬性僅用於打印。而這些屬性似乎是出於此目的(無陰影,高對比度顏色,無背景...)。正如putvande所說,即使在IE7中也不會破壞你的設計。 – OlivierH

+1

在這種情況下,星號匹配所有元素。它基本上移除背景和陰影,並在打印時將文本顏色設置爲黑色。 IE hack要求星號位於屬性名稱的前面,如'* background:transparent;'。 http://www.javascriptkit.com/dhtmltutors/csshacks3.shtml – showdev

回答

1

你展示的代碼是不是唯一的原因,您的網站不能正常工作。這只是一個媒體查詢 - 它說:「對於任何印刷媒體(@media print {),對於每一個元素(*),使用這些樣式」。但IE8和更低無法讀取媒體查詢,所以他們會忽略媒體查詢中的任何樣式。

你可以與所有你想要的元素的特定選擇更換*。但是,由於IE8-無法讀取媒體查詢,它不會改變IE8-打印您的網站的方式。

你可能要考慮像ModernizrHTML5shiv幫助老版本的工作與新代碼。但是每個網站都不一樣。

相關問題