css - 将打印媒体的 Bootstrap 网格从 col-xs 更改为 col-sm

标签 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

最佳答案

您需要使用自定义 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以上示例与您的代码。 点击全屏预览然后打印。

关于css - 将打印媒体的 Bootstrap 网格从 col-xs 更改为 col-sm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32851803/

相关文章:

html - 我无法阻止 Bootstrap 堆叠水平放置的 div

html - 相对 div 与父表格单元格重叠

CSS float 位于 Bootstrap 导航栏下方

css - 如何在悬停时扩展 LESS 中的类

javascript - 如何从 less 将类添加到输入元素

java - CSS 未正确级联到标签 (JavaFX)

javascript - 如何停止背景图像上的动画

html - Bootstrap 3 导航栏 anchor 元素在事件/焦点状态下的样式不正确

jquery - 我无法单击 Bootstrap 弹出窗口中的按钮

css - 少 CSS : Mixins with Variable Number of Arguments