用于打印的 Bootstrap 网格

新手上路,请多包涵

我想设计一个具有不同布局的报告页面以打印到移动设备。我正在使用引导程序 v3。似乎网格无法区分两者,因为打印断点与移动断点 (xs) 相同

例如:在下面的测试 html 中,我的打印页面(或打印预览)并排显示 xs6 列,但 sm6 列堆叠。 xs 和 sm 之间没有断点。

我的打印页面肯定比我的移动视口宽,所以它不应该使用 sm 布局吗?

我是在做错什么还是就是这样?是否有定义的打印视口宽度?

 <!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Test</title>
    <link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
</head>
<body>
    <div class="container">
        <div class="row">
            <div class="col-xs-6">
            xs6
            </div>
            <div class="col-xs-6">
            xs6
            </div>
        </div>
        <div class="row">
            <div class="col-sm-6">
            sm6
            </div>
            <div class="col-sm-6">
            sm6
            </div>
        </div>
    </div>
</body>
</html>

原文由 Gordon Copestake 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 416
2 个回答

我所做的是在我的打印 css 中手动重新创建这些列类。

 .col-print-1 {width:8%;  float:left;}
.col-print-2 {width:16%; float:left;}
.col-print-3 {width:25%; float:left;}
.col-print-4 {width:33%; float:left;}
.col-print-5 {width:42%; float:left;}
.col-print-6 {width:50%; float:left;}
.col-print-7 {width:58%; float:left;}
.col-print-8 {width:66%; float:left;}
.col-print-9 {width:75%; float:left;}
.col-print-10{width:83%; float:left;}
.col-print-11{width:92%; float:left;}
.col-print-12{width:100%; float:left;}

然后我只使用这些类,就像我使用引导程序类来制作我的专栏仅供打印。我还创建了 .visible-print.hidden-print 仅在印刷版中隐藏/显示元素。

它仍然需要一些工作,但是那个快速补丁对我帮助很大。

原文由 Fredy31 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果你想让 Bootstrap 的网格不要用 col-xs (mobile settings) 打印,而想用 col-sm-??相反,基于 Fredy31 答案,您甚至不需要定义 col-print-??。只需重写所有 col-md-?? a 中的 css 类定义:@media print { /* 从 bootstrap.css*/ 复制并粘贴,如下所示:

 @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;
   }
   .col-sm-12 {
        width: 100%;
   }
   .col-sm-11 {
        width: 91.66666667%;
   }
   .col-sm-10 {
        width: 83.33333333%;
   }
   .col-sm-9 {
        width: 75%;
   }
   .col-sm-8 {
        width: 66.66666667%;
   }
   .col-sm-7 {
        width: 58.33333333%;
   }
   .col-sm-6 {
        width: 50%;
   }
   .col-sm-5 {
        width: 41.66666667%;
   }
   .col-sm-4 {
        width: 33.33333333%;
   }
   .col-sm-3 {
        width: 25%;
   }
   .col-sm-2 {
        width: 16.66666667%;
   }
   .col-sm-1 {
        width: 8.33333333%;
   }
}

原文由 Ehsan Abidi 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题