制作bootstrap打印看起来与屏幕设计类似

时间:2018-03-05 14:01:19

标签: css twitter-bootstrap twitter-bootstrap-3

任何人都知道是否存在任何针对打印页面进行优化的打印样式表,类似于屏幕上实际显示的内容?我知道它不可能完全相同,但即使是略微相似的外观(类似风格的表等)也会有所帮助。

默认的打印样式表完全破坏了外观。

1 个答案:

答案 0 :(得分:0)

这不是不可能的

  1. 克隆容器/ div以获取要打印的HTML
  2. 将CSS添加到头部
  3. 创建一个新窗口
  4. 将克隆数据插入新窗口
  5. on document ready trigger print命令
  6. 
    
    function print() {
    
        var containerToPrint = '';
    
        containerToPrint = $(".container-needs-to-print").clone();
        /* can be body */
    
        // insert you CSS in head in new window
        var totalHtml = '<head><link rel="stylesheet" href="' + urlPath + 'css/style.css"></head>' +
            '<body>' + containerToPrint.html() + '</body>';
    
        // create a new window
        var newWindow = window.open('', 'PRINT', 'height=' + $(window).height() + ',width=' + $(window).width() + '');
    
        // add content to new window
        newWindow.document.write(totalHtml);
        newWindow.focus();
    
        $(document).ready(function () {
            setTimeout(function () {
                newWindow.print();
                newWindow.close();
            }, 2000);
        });
    }
    &#13;
    &#13;
    &#13;