2009-08-21 144 views

回答

40

在print.css中,設置爲overflow: visible而不是overflow: autodiv#content。至少在Firefox中爲我解決了這個問題。 overflow auto的定義是:「如果溢出被修剪,應該添加一個滾動條來查看剩餘的內容」 - 但滾動條在打印的頁面上不存在。

我猜測由於內容div應該跨越多個頁面,因此瀏覽器會認爲「您正在流出您的容器並且必須使用滾動條剪裁」。在這種情況下,容器是內容div出現的第一頁。

+3

它似乎不適用於Chrome,但在IE中適用於我。 – 2014-02-07 01:17:44

+0

同樣在這裏傑克托爾。你找到解決方案嗎? – 2015-05-04 13:00:55

+1

爲我工作在鉻。我很懶,只是加了'* {overflow:auto!important; }' – 2017-02-02 10:49:27

0

你已經使用了media屬性print值樣式表像

<link rel="stylesheet" href="print.css" media="print" /> 

您可能還需要使用你不想打破元素page-break-before屬性。

+0

是的,絕對是正在使用的打印樣式表 的網頁的確是表只是一個長長的清單,我真的不希望每一個 – mjr 2009-08-21 15:13:31

5

如果您試圖打印的任何容器都是浮動的,它們會像您看到的那樣被截斷。

在您的print.css中,請確保關閉所有可以浮動的內容而不破壞佈局。這是一個痛苦,但瀏覽器對打印的支持最好還是很弱。

+0

無浮,雙經檢查發現 – mjr 2009-08-21 15:12:11

+0

在FF爲我工作之前分頁符!感謝bredren – redress 2015-11-23 20:15:03

+0

絕對解決了我的問題。我把一個類'清除:兩者;'只能在print.css中找到它的地方 – 2017-12-06 14:22:09

2

我剛剛在ie7中解決了這個問題。這是在一個Sharepoint項目中,它有各種表格單元和/或div設置爲高度:100%。打印時,它會打印長表單,第一頁或第二頁將照常打印,然後空白頁而不是其餘頁。

在我的打印樣式表中,我將這些表格& divs設置爲高度:auto,現在它可以很好地打印。

我現在在IE8中遇到了另一個問題。啊!

0

我通過添加overflow:visible;解決了問題,並給它padding-right: 30px;來代替滾動條寬度。

+0

這不是那麼有用。它不清楚你添加了這些樣式的元素。 – cchamberlain 2016-10-31 19:08:19

6

我發現在容器div上設置display: inline也有幫助。這些偉大的答案中的一些在某些情況下適用於我,而在其他情況下則不適用。

<div class="container"> 
    <div class="content-cutting-off-here"> 
     Some long text that gets cut off at the end of the page... 
    </div> 
</div> 

大多數人設置的容器,以顯示blockinline-block。對我來說,這是切斷文本,並將其設置爲inline規避了這一點。這也使widthheight與違規的集裝箱分區無關;我發現這在打印時會很麻煩。

@media print { 
    .container { 
     display: inline; 
    } 
} 

Here is a great article that helped me with this solution.

1

如果overflow:visible;不工作,嘗試overflow-y:visible;

(我在print.css有body{overflow-y:scroll;},並body{overflow:visible;}不rewrited它...)

+1

我正在使用@print {},'body {overflow:visible;}'爲我做了這個。 – JerryA 2016-10-26 03:54:30

4

我知道這是一個古老的問題,但這是另一種更新的方式,可能發生。

檢查您是否在剪輯元素上使用display: flex;。這對我來說是個問題,將它設置爲block就可以解決它。