2010-09-13 143 views
10

如何在Print中獲得跨瀏覽器兼容性?有關打印css文件的任何提示可以使紙張在所有瀏覽器上打印相同。如何在所有瀏覽器頁面上打印跨瀏覽器兼容性?

編輯

我已經使用埃裏克邁耶CSS,但是當我們把打印的網站仍然面臨着不同瀏覽器的不一致性。

是否有任何CSS聲明,我們可以總是使用並放在頂部的打印CSS,像其他的CSS重置,在media=screen工作良好?

我已經使用打印(print.css)不同的CSS與media="print"


它會更好保持始終打印CSS * {posotion:static}*{float:none}* {clear:both}

回答

17

相同的結果是不可能的。輸出不僅取決於CSS,還取決於頁邊距的個別設置,打印機的功能,可用字體,紙張格式(A4 vs US Letter)以及可能更多。

對於CSS

  • 避免浮紗和定位(相對的,絕對的和固定的)。特別是Mozilla(Firefox)無法很好地處理這些屬性。
  • 使用page-break-*但不依賴於它。有些瀏覽器甚至在圖像中插入分頁符。
  • 你不知道頁面的寬度和高度(可能是A5)。儘可能保持靈活性。
  • For performance,將您的打印樣式放入@media print {}規則的主樣式表中。
  • 使用pt而不是px的邊界和邊距。打印機不知道像素是什麼,可能會出現奇怪的結果。
  • 開發在Opera您的打印佈局,這對@media print最好的支持目前,並插入兼容的手段,當你完成。
  • 如果使用reserved IDs,Internet Explorer可能會在打印時崩潰。
  • 永遠不要依賴打印預覽。真實打印輸出結果會非常不同。用打印到pdf的驅動程序保存雨林。 :)
+0

感謝您的所有提示。 +1正確理解我的問題 – 2010-09-13 08:08:06

2

在html中,使用屬性「media」設置爲「print」的鏈接。

<LINK rel="stylesheet" type"text/css" href="print.css" media="print"> 

您可以禁用所有其他的CSS,只需使用您的「打印」CSS。首先將媒體設置爲「屏幕」。測試它就像在所有瀏覽器中測試普通的css一樣。

根據我的經驗,它在屏幕上看起來幾乎看起來什麼時候打印出來。

建議:

1)保持你的佈局流體儘可能爲它是靈活,什麼都紙張邊距它被設置爲。

2)保持簡單。

3)在IE中,背景可能會丟失。要解決此問題,請轉至:工具> Internet選項>高級。在設置框中,向下滾動到打印並啓用「打印背景顏色和圖像」

+0

謝謝回覆。我知道關於print css和'media =「print」'我的問題是不同的。即使我在主css中使用CSS重置,但在打印時仍然存在不一致之處 – 2010-09-13 08:10:09

+0

那麼這是很常見的,因爲你正在處理不同的瀏覽器。如果需要,您需要爲每個修補程序創建修復程序。 – sheeks06 2010-09-14 01:16:55