2009-06-04 54 views
14

我在哪裏做錯了?如何在打印預覽中設置邊距0?

這是正常的打印預覽: this is the first picture

但我希望看到這個畫面(無拖保證金箭頭) alt text

這是CSS代碼和預覽:

alt text

+0

關於@page 1:http://www.w3.org/TR/CSS2/page.html#x3 2:http://www.belgeler.org/recs/css2/ page.html – uzay95 2009-06-04 20:14:11

回答

11

您可以做的最好的設置是@page margins。但請記住,如果您將保證金設置爲0,則可以並很可能會被否決。

+0

這是否意味着你只需要做這樣的事情? '@page {margin:1in; }' – 2010-02-09 16:41:12

0

我不認爲實際上可以這樣做,因爲您會覆蓋用戶的默認值電腦。據我所知,Web應用程序沒有訪問權限來改變類似打印機設置的東西,而沒有在IE中使用某種ActiveX腳本。

我曾經有一個類似的問題,但最終不得不使用TCPDF生成PDF。最終效果會更好,因爲您可以更好地控制佈局。

13

是的。可以在頁面打印輸出中更改頁邊距。該規則將如下所示:

@page { 
    margin: 0; 
} 

這在Firefox中不起作用。如果您在@page CSS support上查看他們的開發人員參考,您可以看到哪些瀏覽器支持@page

0

我被阻止將計算機從Windows XP升級到更新的東西,所以基本上我堅持使用IE8。

我發現在IE8上,頁邊距將始終是最小值的6.01毫米左右和5毫米的頂部和底部。無論我做什麼,即使在@page規則中使用@左上右側和中央規則,它仍將默認爲上述值。

創建樣式表可能更容易考慮打印大小的這一限制。

它也可能有助於將IE hack \ 9放在CSS class屬性值的前面,在某些情況下複製屬性也可能有所幫助(但不會影響頁面的邊距),例如:

.aDiv { 
    margin: 10mm; 
    margin: 15mm\9;  //this \9 hack will set that value only on IE8. 
} 

我知道還有類似這樣的其他黑客,比如\ 0,但我承認並沒有完全理解它們。 \ 9在某些情況下適用於IE8。

1

謝謝!運作良好的鉻

@page { 
    margin: 0; 
}