css设置打印样式@page

浏览器打印

浏览器自带的打印功能很早之前就有了,所以基本所有浏览器都支持。

我们通过 window.print() 、document.execCommand('print’) 、页面右键菜单打印等方式都可以调起打印。

不同浏览器的区别:在Safari和Chrome都会弹起打印预览的窗口,FireFox没有预览而是直接让你选择打印机,OSx下可以通过预览PDF来预览~

但是直接使用浏览器打印虽然省事,但是存在很多问题,无法满足我们的打印需求:

  1. 打印的是整个网页,不能打印局部内容;
  2. 打印不支持自定义分页行为,默认不支持批量打印;
  3. 打印的时候样式有问题,所见非所得;
  4. 打印可以准确识别的样式单位是绝对单位(如pt、mm、cm),对相对单位识别不同打印机可能会得到意想不到的结果;

CSS 打印样式

1、@media print

那么怎么控制我们打印内容的样式呢?其实就是将我们的打印样式传给打印机,引入打印文件一般有三种方式。

//  第一种:媒体查询 @media print
@media print {
    body {
        background-color: white;
    }
    img {
        visibility: hidden;
    }
    a::after {
        content: "(" attr(href) ")"; /* 所有链接后显示链接地址 */
    }
}


// 第二种:CSS 中使用 @import … print
@import url("my-print-style.css") print;


// 第三种:在 HTML 中使用 <Link> 标签
<link rel="stylesheet" media="print" href="my-print-style.css”>

2、@page

用来设置页面大小、边距、方向等。在@page里面可以使用页面外边距盒子,类似伪类的使用。

@page {
    size: A4 portrait; /*  */
    margin: 3.7cm 2.6cm 3.5cm; /* 国家标准公文页边距 GB/T 9704-2012 */
}


// 去除页眉
@page { margin-top: 0; }

// 去除页脚
@page { margin-bottom: 0; }

// 页眉页脚全部去掉
@page { margin: 0; }

 设置纸张及其方向 portrait:纵向;  landscape: 横向

@media print {//media标签
    @page {
        size: A5 portrait; //设置纸张及其方向 portrait:纵向;  landscape: 横向
        margin-top: 0mm;//去掉页眉
        margin-bottom:0mm;//去掉页脚
    }
    h4{
        color:red;//打印时将标签h4设置为红色
    }
}

  • 7
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSS中文速查手册 CSS Properties Reference 样式表属性   字体 Font fontcolorfont-familyfont-sizefont-size-adjustfont-stretchfont-stylefont-weighttext-decorationtext-underline-positiontext-shadowfont-varianttext-transformline-heightletter-spacingword-spacing  文本 Text text-indenttext-overflowvertical-aligntext-alignlayout-flowwriting-modedirectionunicode-bidiword-breakline-breakwhite-spaceword-wraptext-autospacetext-kashida-spacetext-justifyruby-alignruby-positionruby-overhangime-modelayout-gridlayout-grid-charlayout-grid-char-spacinglayout-grid-linelayout-grid-modelayout-grid-type  背景 Background backgroundbackground-attachmentbackground-colorbackground-imagebackground-positionbackground-positionXbackground-positionYbackground-repeatlayer-background-colorlayer-background-image  定位 Positioning positionz-indextoprightbottomleft  尺寸 Dimensions heightmax-heightmin-heightwidthmax-widthmin-width  布局 Layout clearfloatclipoverflowoverflow-xoverflow-ydisplayvisibility  外补丁 Margins marginmargin-topmargin-rightmargin-bottommargin-left  轮廓 Outlines outlineoutline-coloroutline-styleoutline-width  边框 Borders borderborder-colorborder-styleborder-widthborder-topborder-top-colorborder-top-styleborder-top-widthborder-rightborder-right-colorborder-right-styleborder-right-widthborder-bottomborder-bottom-colorborder-bottom-styleborder-bottom-widthborder-leftborder-left-colorborder-left-styleborder-left-width  内容 Generated Content include-sourcequotescontentcounter-incrementcounter-reset  内补丁 Paddings paddingpadding-toppadding-rightpadding-bottompadding-left  列表项目 Lists list-stylelist-style-imagelist-style-positionlist-style-typemarker-offset  表格 Table border-collapseborder-spacingcaption-sideempty-cellstable-layoutspeak-header  滚动条 Scrollbars scrollbar-3d-light-colorscrollbar-highlight-colorscrollbar-face-colorscrollbar-arrow-colorscrollbar-shadow-colorscrollbar-dark-shadow-colorscrollbar-base-color  打印 Printing pagepage-break-afterpage-break-beforepage-break-insidemarksorphanssizewidows  声音 Aural voice-familyvolumeelevationazimuthstressrichnessspeech-ratecuecue-aftercue-beforepausepause-afterpause-beforepitchpitch-rangeplay-duringspeakspeak-numeralspeak-punctuation  其它属性 Classification behaviorzoomcursorfilter

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值