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-*-3和span4/ col-*-4的百分比,因为当您考虑到它们时,它们似乎在某种程度上表现正常:
最后的最后一个小这是有帮助的一点要注意的(是的,尽管自定义@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)