javascript - 使用 CSS 打印网页的一部分

标签 javascript css

我有一个带表格的 div。我尝试使用 Javascript 打印 div:

<script type="text/javascript">
    function myFunction() {
        var prtContent = document.getElementById("printable");
        var WinPrint = window.open('', '', 'left=0,top=0,width=800,height=900,toolbar=0,scrollbars=0,status=0');
        WinPrint.document.write(prtContent.outerHTML);
        WinPrint.document.close();
        WinPrint.focus();
        WinPrint.print();
        WinPrint.close();
    }
</script>

但是当我打印这个 div 时,div 并没有打印它的 CSS,比如 text-alignment、表格边框等等。

最佳答案

由于您正在创建一个新文档,它将独立显示和打印,不受创建文档中任何样式表的影响。如果要为其设置样式,则需要将样式表与创建的文档相关联。最简单的情况是,如果您所有的 CSS 代码都在一个外部文件 mystyle.css 中,添加一个引用它的 link 元素就足够了,例如在语句 WinPrint.document.write(prtContent.outerHTML) 之前的以下语句:

WinPrint.document.write('<link rel=stylesheet href=mystyle.css>');

关于javascript - 使用 CSS 打印网页的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27213526/

相关文章:

javascript - 无法从可拖动的可编辑 DIV 中选择文本

javascript - 是否可以在 javascript 中读取 IE 中的本地文件?

css - 仅使用 2 个 div 的 3 列 css 布局

html - 如何创建关闭所有弹出窗口的操作?

html - 如何将图像始终保持在页面的 Angular 落,但向下滚动时不再可见?

jquery - 动态单选按钮作为导航在页面刷新之前不起作用

css - 将仅接受 from & 的 mixin 转换为关键帧选择器以接受多个关键帧选择器

javascript - 如何在 Javascript 中创建包含任意八位字节的 blob

javascript - stackOverflow UI 设计秘诀?

javascript - 如何在浏览器中运行包含typscript转编译的js文件的导入语句?