【发布时间】:2019-12-19 04:41:11
【问题描述】:
我正在尝试在 React 组件中打印模式对话框。当 modal 下的组件占用超过 1 页时,每页重复 modal 的打印。
由于我要打印的 div 覆盖在其他 div 上,因此我使用样式组件库将 @media 打印属性设置为仅显示打印目标。在页面中,我有以下内容:
const NoPrintBody = createGlobalStyle`
@media print {
html, body {
visibility: hidden;
}
}
`;
并且渲染包含
然后,在模态中,我有:
const ReportContainer = styled.div`
display: flex;
flex-direction: column;
height: 100%;
@media print {
visibility: visible;
}
`;
这里模态框被
【问题讨论】:
-
你发现了吗?我有同样的问题。我的打印媒体查询将目标 div 的位置设置为固定,宽度和高度设置为 100vw/h,以覆盖整个页面。但是现在当 window.print() 被调用时,我在打印视图中得到两页。
-
我们最终没有使用模式(通过导航到新路线(使用 React)。
-
啊..我也想通了。我找不到我的评论,所以我可以编辑它。在打印媒体查询中使用
display: fixed时,我得到了重复。
标签: css reactjs styled-components