2011-12-01 59 views
1

我想在文本之前放置一個圖標圖像。應該避免使用任何HTML標記,例如<img>,因爲HTML結構的任何更改都可能會影響我們的JavaScript代碼。IE8在僞元素之前不打印圖像

我寫下面的代碼,它在IE8/Firefox的屏幕上工作。

<html> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
    <meta http-equiv='X-UA-Compatible' content='IE=8' /> 
    <style type="text/css"> 
    div.before-test:before { 
    content: url("sample.png"); 
    } 
    </style> 
</head> 
<body> 
<div>aaaa</div> 
<div>bbbb</div> 
<div class="before-test">cccc</div> 
<div>dddd</div> 
</body> 
</html> 

但是,當訪問者試圖用IE8打印網頁時,圖像消失。即使在使用IE8進行打印時,如何顯示圖像,還是必須爲圖像添加HTML標記?

+0

我看到相同的行爲。 IE9很好,但IE8不顯示圖像進行打印。 – mrtsherman

+0

謝謝。我將放置一個標籤,而不是:在打印僞元素之前。 – Yasushi

回答

0

IE8之前支持,但不支持兼容模式。

+0

我知道了,我用「」來改變兼容模式。 「:之前」在IE8屏幕上運行良好,但不能在打印上運行。 – Yasushi

0

我想你應該看看這個指南,以瞭解某些瀏覽器支持哪些屬性和內容,特別是IE 6及更高版本。

http://www.quirksmode.org/css/contents.html

順便說一下,在url()網址 - 引號是可選的。最好有沒有避免不必要的逃逸發出

http://www.w3.org/TR/CSS2/syndata.html#value-def-uri

<style type="text/css"> 
    div.before-test:before { 
     content: url(sample.png); 
    } 
</style> 
+0

謝謝,但我的問題是關於打印。你知道任何描述我們可用於打印的CSS的網站嗎? – Yasushi

0

我能找到的唯一方法是從計算器。我知道,這是不是一個好方法,但是,我想沒有關於此錯誤的解決方案

HTML:

<div class="PrintOnly"> 
    <img id="PrintLogo" src="sample.png"/> 
</div> 

CSS:

.PrintOnly {   display:none; } 
    @media print { 
     .PrintOnly {  display:block; } 
    } 
+1

謝謝。我會和你一樣嘗試相同的代碼。 – Yasushi