亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

只打印<div id=“printrea”></div>?

只打印<div id=“printrea”></div>?

慕的地6264312 2019-06-17 15:03:08
只打印<div id=“printrea”></div>?如何打印指定的div(而不手動禁用頁面上的所有其他內容)?我想避免一個新的預覽對話框,所以創建一個新的窗口使用這個內容是沒有用的。該頁包含兩個表,其中一個包含我想打印的div-表的樣式是視覺樣式的網頁,不應該顯示在打印。
查看完整描述

3 回答

?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

下面是一個通用的解決方案,使用僅CSS我已經證實了這一點。

@media print {
  body * {
    visibility: hidden;
  }
  #section-to-print, #section-to-print * {
    visibility: visible;
  }
  #section-to-print {
    position: absolute;
    left: 0;
    top: 0;
  }}

另一種方法不是很好。使用display是很棘手的,因為如果任何元素display:none那么它的后代也不會展示。要使用它,您必須更改頁面的結構。

使用visibility工作更好,因為您可以打開可見性的后代。無形的元素仍然影響布局,所以我移動section-to-print


查看完整回答
反對 回復 2019-06-17
?
Cats萌萌

TA貢獻1805條經驗 獲得超9個贊

我有一個更好的解決方案,用最少的代碼。

將可打印的部分放入具有如下ID的div中:

<div id="printableArea">
      <h1>Print me</h1></div><input type="button" onclick="printDiv('printableArea')" value="print a div!" />

然后添加一個類似onClick的事件(如上面所示),并像上面一樣傳遞div的id。

現在,讓我們創建一個非常簡單的javascript:

function printDiv(divName) {
     var printContents = document.getElementById(divName).innerHTML;
     var originalContents = document.body.innerHTML;

     document.body.innerHTML = printContents;

     window.print();

     document.body.innerHTML = originalContents;}

注意到這有多簡單?沒有彈出窗口,沒有新窗口,沒有瘋狂的樣式,沒有像jQuery這樣的JS庫。真正復雜的解決方案(答案并不復雜,也不是我所指的)的問題在于,它永遠不會在所有瀏覽器上翻譯!如果希望使樣式有所不同,請按照選中的答案中所示,將media屬性添加到樣式表鏈接(media=“print”)中。

沒有絨毛,重量輕,它只是起作用了。


查看完整回答
反對 回復 2019-06-17
?
偶然的你

TA貢獻1841條經驗 獲得超3個贊

到目前為止,所有的答案都有很大的缺陷-它們要么包括添加class="noprint"為了一切,否則就會搞砸display#printable.

我認為最好的解決方案是圍繞不可打印的內容創建一個包裝器:

<head>
    <style type="text/css">

    #printable { display: none; }

    @media print    {
        #non-printable { display: none; }
        #printable { display: block; }
    }
    </style></head><body>
    <div id="non-printable">
        Your normal page contents    </div>

    <div id="printable">
        Printer version    </div></body>

當然,這并不完美,因為它涉及到在HTML中移動一些東西.


查看完整回答
反對 回復 2019-06-17
  • 3 回答
  • 0 關注
  • 544 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號