将打印介质的引导网格从col-xs更改为col-sm

时间:2015-09-29 19:00:05

标签: css twitter-bootstrap less media-queries

我有一个网页,打印时需要遵循col-sm-*网格而不是col-xs-*网格。有一个微不足道的方法来实现这一目标吗?是否可以更改打印预览页面的宽度,以使其适合col-sm-*规则的所有样式?

以下是一个例子:

window.print();
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" />

<div class="row">
  <div class="col-sm-6 col-xs-12">
    <h1>Left column</h1>
  </div>

  <div class="col-sm-6 col-xs-12">
    <h1>Right column</h1>
  </div>
</div>

这是实际打印的内容:

Actual page that prints

这是我期望打印的内容:

Expected print preview

1 个答案:

答案 0 :(得分:5)

您需要使用自定义CSS进行打印,以覆盖打印版面中的sm。在bootstrap version > 3.0中已经发现了这个问题。

@media print {

.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
  float: left!important;
}
.col-sm-12 {
  width: 100%;
}
.col-sm-11 {
  width: 91.66666666666666%;
}
.col-sm-10 {
  width: 83.33333333333334%;
}
.col-sm-9 {
  width: 75%;
}
.col-sm-8 {
  width: 66.66666666666666%;
}
.col-sm-7 {
  width: 58.333333333333336%;
}
.col-sm-6 {
  width: 50%;
}
.col-sm-5 {
  width: 41.66666666666667%;
}
.col-sm-4 {
  width: 33.33333333333333%;
}
.col-sm-3 {
  width: 25%;
}
.col-sm-2 {
  width: 16.666666666666664%;
}
.col-sm-1 {
  width: 8.333333333333332%;
}

}
上面示例的

Here's the running snippet代码。 单击全屏预览,然后打印。