我有一个包含大量数据,表格和内容的页面.
我想制作一个打印版本,只显示很少的选择的东西.
我想制作一个打印版本,只显示很少的选择的东西.
我正在阅读关于CSS的“@media print”的功能,而不是再写一个仅用于打印的页面.
首先,什么浏览器支持它?由于这是一个内部功能,所以只有最新的浏览器才支持它.
我正在考虑用“可打印”类标记几个DOM元素,并且基本上将“display:none”应用于除“可打印”类的元素之外的所有内容.
那可行吗
我该如何实现?
编辑:
这是我到目前为止
<style type="text/css"> @media print { * {display:none;} .printable,.printable > * {display:block;} } </style>
但它隐藏了一切.如何使这些“可打印”元素可见?
编辑:
现在尝试消极的方法
<style type="text/css"> @media print { body *:not(.printable *) {display:none;} } </style>
这在理论上看起来不错,但是它不起作用.也许“不”不支持高级css …
解决方法
开始
here.但基本上你在想的是正确的做法.
Thanks,Now my question is actually
becoming: How do I apply CSS to a
class AND ALL OF ITS DESCENDANT
ELEMENTS? So that I can apply
“display:block” to whatever is in the
“printable” zones.
如果一个元素被设置为显示:none;所有的孩子也将被隐藏.但无论如何如果您想要将样式应用于其他所有子项,请执行以下操作:
.printable * { display: block; }
这将适用于“可打印”区域的所有孩子的样式.