回答
在print.css中,設置爲overflow: visible
而不是overflow: auto
在div#content
。至少在Firefox中爲我解決了這個問題。 overflow auto的定義是:「如果溢出被修剪,應該添加一個滾動條來查看剩餘的內容」 - 但滾動條在打印的頁面上不存在。
我猜測由於內容div應該跨越多個頁面,因此瀏覽器會認爲「您正在流出您的容器並且必須使用滾動條剪裁」。在這種情況下,容器是內容div出現的第一頁。
你已經使用了media
屬性print
值樣式表像
<link rel="stylesheet" href="print.css" media="print" />
您可能還需要使用你不想打破元素page-break-before
屬性。
是的,絕對是正在使用的打印樣式表 的網頁的確是表只是一個長長的清單,我真的不希望每一個 – mjr 2009-08-21 15:13:31
我剛剛在ie7中解決了這個問題。這是在一個Sharepoint項目中,它有各種表格單元和/或div設置爲高度:100%。打印時,它會打印長表單,第一頁或第二頁將照常打印,然後空白頁而不是其餘頁。
在我的打印樣式表中,我將這些表格& divs設置爲高度:auto,現在它可以很好地打印。
我現在在IE8中遇到了另一個問題。啊!
我通過添加overflow:visible;
解決了問題,並給它padding-right: 30px;
來代替滾動條寬度。
這不是那麼有用。它不清楚你添加了這些樣式的元素。 – cchamberlain 2016-10-31 19:08:19
我發現在容器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>
大多數人設置的容器,以顯示block
或inline-block
。對我來說,這是切斷文本,並將其設置爲inline
規避了這一點。這也使width
和height
與違規的集裝箱分區無關;我發現這在打印時會很麻煩。
@media print {
.container {
display: inline;
}
}
如果overflow:visible;
不工作,嘗試overflow-y:visible;
(我在print.css有body{overflow-y:scroll;}
,並body{overflow:visible;}
不rewrited它...)
我正在使用@print {},'body {overflow:visible;}'爲我做了這個。 – JerryA 2016-10-26 03:54:30
我知道這是一個古老的問題,但這是另一種更新的方式,可能發生。
檢查您是否在剪輯元素上使用display: flex;
。這對我來說是個問題,將它設置爲block
就可以解決它。
它似乎不適用於Chrome,但在IE中適用於我。 – 2014-02-07 01:17:44
同樣在這裏傑克托爾。你找到解決方案嗎? – 2015-05-04 13:00:55
爲我工作在鉻。我很懶,只是加了'* {overflow:auto!important; }' – 2017-02-02 10:49:27