简单介绍CSS设置打印页面的方法及css里media的使用
前端  /  管理员 发布于 7年前   143
在很多是时候往往要打印网页中的某一部分,而不是全部网页,所以告诉打印机要打印的部分,使用css进行一下设置是一个比较好的方式,先看一段代码:
复制代码代码如下:
<link href="https:/css/css/screen.css" rel="stylesheet" type="text/css" media="screen" />
<link href="https:/css/css/print.css" rel="stylesheet" type="text/css" media="print" />
以上两行代码是引入外部css样式表,需要特别主义的是media属性值分别是screen和print,用来规定css样式表要服务的对象,如果属性值是media,则说明是为了在屏幕控制页面的显示,如果属性值是print,则说明css代码是用于控制需要打印的元素的样式的。
隐藏不需要打印的页面元素:
使用控制打印的css隐藏不需要打印的页面元素即可,那么点击打印,被打印的只有打印样式表控制下没有被隐藏的元素。
代码如下:
复制代码代码如下:
/* 隐藏不打印项 start */
h1 span{
display:none;
}
#sidebar{
display:none;
}
/* 隐藏不打印项 end */
以上代码只是一个简单的演示,页面中的相关元素将不会被打印。
点击进行打印:
复制代码代码如下:
<input type="button" value="点击打印" onclick="window.print()"/>
点击以上按钮就可以实现打印效果。
css里media的使用
我们在网页里引用外部的css文件时,通常是用如下的代码:
复制代码代码如下:
<link rel="stylesheet" type="text/css" href="https:/css/mycss.css">
实际上,上面的link对象里,我们是省略了一个叫“media”的属性,这个属性指定样式表规则用于指定的设备类型。它有如下值可用:
all-- 用于所有设备类型
aural-- 用于语音和音乐合成器
braille-- 用于触觉反馈设备
embossed-- 用于凸点字符(盲文)印刷设备
handheld-- 用于小型或手提设备
print-- 用于打印机
projection-- 用于投影图像,如幻灯片
screen-- 用于计算机显示器
tty-- 用于使用固定间距字符格的设备。如电传打字机和终端
tv-- 用于电视类设备
这么多的值,并不是每个都可用,因为浏览器厂商并没有全部实现它们。
在IE里面,可用的值有all,print,screen三个。上面的代码里,我们没有使用“media”,实际上IE或其他浏览器是用了“all”这个值。“screen”,用于显示器,也就是我们一般看到的效果。“print”,用于打印的效果。
也就是说,我们没有指定“media”,那么我们看到的效果和打印的效果,它们用的都是同样的css文件。如果我们指定了一个“screen”,又指定了一个“print”,那么在打印时就会用“print”指定的css来渲染网页并打印。例如一个网页里有如下代码:
复制代码代码如下:
<link rel="stylesheet" type="text/css" media="screen" href="https:/css/mycss.css">
<link rel="stylesheet" type="text/css" media="print" href="https:/css/myprintcss.css">
那就表示,我们通过IE看到的网页,用到的css文件是mycss.css,而通过IE打印时用到的css文件则是myprintcss.css。想到什么了吗?对,我们可以通过print的设置,来让网页上的一些不需要打印的内容隐藏起来,比如,打印按钮。实际上,media还可以这样使用:
复制代码代码如下:
<style media=print>
//这里定义你要打印时用到的css类
</style>
或者这样使用:
复制代码代码如下:
<style>
@media print {
//这里定义你要打印时用到的css类
}
</style>
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号