我的打印样式有以下CSS:
* {
display:none;
}
#printableArea {
display:block;
}
Run Code Online (Sandbox Code Playgroud)
我希望这可以隐藏所有元素,只显示printableArea,但是一切都被隐藏了.在打印视图中,我得到的只是一个空白页面.
我把它包含在HEAD中,media="print"
在这个特定的样式表上.
Cha*_*her 15
您正在采用正确的通用方法,但您希望使用visibility: hidden
而不是display: none
使您可以将子元素设置为可见.
请仅查看Print <div id = printarea> </ div>?
html body * {
display:none;
}
#printableArea {
display:block;
}
Run Code Online (Sandbox Code Playgroud)
此外,您可能需要#printableArea上的!important,但可能不需要.
您可以尝试将其弹出到所有内容之上。这解决了我 90% 的问题,然后我只需要创建一个.noprint
类并将其添加到一些零散的元素中。
.print_area{
position: fixed;
top: 0px;
left: 0px;
width: 100%;
z-index: 9999;
background-color: #ffffff;
}
Run Code Online (Sandbox Code Playgroud)
如果您想使用 JavaScript,您可以尝试这个简单的代码片段,甚至不需要 jQuery:
document.body.innerHTML=document.getElementById('printableArea').innerHTML;
Run Code Online (Sandbox Code Playgroud)
回答是因为我在搜索这个问题时发现了这个问题
您可以使用 'display: none' 代替:
* {
visibility: hidden;
margin:0; padding:0;
}
#printableArea * {
visibility: visible;
}
Run Code Online (Sandbox Code Playgroud)
来源:https : //www.concrete5.org/community/forums/5-7-discussion/need-to-print-a-certain-div-and-ignore-everythign-else-on-the-pa