如何用css寫打印樣式


打印樣式

打印樣式就是針對網頁被打印時設置給文檔的樣式,由於打印時是顯示在紙上,跟屏幕還是有區別的,對於有打印需求的網頁往往需要設置專門的打印樣式來適配頁面。

@media print

聲明自己是打印樣式有兩種方法:在css文件中可以使用@media print,在html文件的style標簽中寫上media=print屬性:


<style media="print">...</style>

當寫有打印需求的頁面時,最好將css分成兩類,一類是@media screen ,另一類是@media print ,如果有兩種media通用的css,在設置print的樣式時,因為通用樣式的層疊,可能會導致樣式失效,這時需要采用!important來確保瀏覽器采用print下面的樣式,舉個例子:


nav.nav{
    color: red;
    display: block;
}

@media print{
    .nav{
       display:none!important;
   }
}

上面的例子中去掉!important時,由於通用cssnav.nav的權重更高,會導致print中的樣式無效,查看效果。所以,或者將screen和print樣式完全分開。或者當打印樣式無效是使用!important.
2

@page

@page可以控制打印頁面的邊距大小,就像word中那樣:

  @page {
    margin: 1cm;
  }

邊距1cm

-webkit-print-color-adjust

-webkit-print-color-adjust是一個在瀏覽器中強制打印背景顏色和字體顏色的css屬性,當打印出來的某些元素的背景顏色沒有被顯示時,可以使用-webkit-print-color-adjust:exact

bootstrap對打印樣式的支持

參考bootcss網站的打印類,bootstrap對打印樣式主要提供了幾個class,方便我們在頁面被打印時顯示或隱藏一些元素:

class 瀏覽器 打印機
.visible-print-block
.visible-print-inline
.visible-print-inline-block
可見
.hidden-print 可見
### bootStrap留下的坑

如果你的項目使用了bootstrap,打印頁面上的A標簽可能也會顯示出來,如果這不是你想要的,可以看這里


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM