正确打印Twitter Bootstrap

Nic*_*ger 30 html css printing twitter-bootstrap

我真的很想要正确地打印我的Twitter Bootstrap视图,并且想知道是否有人能指出我正确的方向.我添加了一个自定义的"print.css",它覆盖了一些原始的bootstrap样式,以及一些自己的组件样式.

这是我的打印对话框: 在此输入图像描述

不确定你是否可以从图像中轻松地说出来,但是井已经失去了背景并且没有跨越整个页面宽度.此外,"列"或"跨度"似乎都是不稳定的.页面构建如下:(仅显示第一行以保持清洁)

<div class="container-fluid">
    <div class="row-fluid">
        <div class="span3">
            <div class="row-fluid">
                <div style="height: 150px; width: 300px">
                    <img class="img-rounded" src='data:image/png;base64,@Model.Unit.Image64' />
                </div>
            </div>

            <div class="row-fluid">
                ...
            </div>

        </div>
        <div class="span4">
            ...Pie chart control
        </div>
        <div class="span5">
            ...Bar chart control
        </div>

    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是我的print.css:

@media print {
    body {
        margin: 0;
        padding: 0;
        line-height: 1.4em;
        word-spacing: 1px;
        letter-spacing: 0.2px;
        font: 13px Arial, Helvetica,"Lucida Grande", serif;
        color: #000;
    }

    #print-btn #update-btn #nav-left #nav-bar, #selectUnitContainer, .navbar, .sidebar-nav {
        display: none;
    }

    #print-btn, #update-btn, #units {
        display: none;
    }

    #nav-left {
        display: none;
    }

    #report-container {
        visibility: visible;
    }

    .well .span12{
        width: 100%;
        visibility: visible;
    }

    .navbar {
        display: none;
    }

    .sidebar-nav {
        display: none;
    }
}
Run Code Online (Sandbox Code Playgroud)

Mac*_*eeE 62

首先, Bootstrap.css带有预定义的打印样式,例如:

/** 
 *  Use these for toggling content for print.
**/
.visible-print {
    display: block !important;
}

.hidden-print {
    display: none !important;
}
Run Code Online (Sandbox Code Playgroud)

其次,您可以使用分页符css规则进行测试,将图表分隔到不同的页面,以便进行更清晰的格式化.

/** 
 *  Page-break-inside seems to
 *  be required for Chrome.
**/
div.somechart { 
   page-break-after: always; 
   page-break-inside: avoid;
}
Run Code Online (Sandbox Code Playgroud)

第三次测试使用行格式化以占用打印屏幕上的全宽,而不是依赖于span3/ col-*-3span4/ col-*-4的百分比,因为当您考虑到它们时,它们似乎在某种程度上表现正常:

  • Sytem打印页边距
  • Bootstrap的@print定义了边距
  • 页面排水沟
  • 打印屏幕上的跨度百分比.

最后的最后一个这是有帮助的一点要注意的(是的,尽管自定义@print风格!):

<link href="/assets/css/bootstrap.min.css" rel="stylesheet" media="screen" />
Run Code Online (Sandbox Code Playgroud)

至:

<link href="/assets/css/bootstrap.min.css" rel="stylesheet" media="all" />
Run Code Online (Sandbox Code Playgroud)