我想使用Foundation 5 ccs框架从我的网站打印一些页面。在我的 css 中,我添加了以下行:
@media print {
hr.page-break{page-break-after:always!important;}
}
我使用 .page break 类简单地添加新页面进行打印,但没有工作。删除所有基础 5 样式时,新页面将按预期打印。有什么想法吗?
这些是 F5 的唯一打印样式(来自 /foundation/components/_type.scss
),所以我没有看到任何与hr
相关的内容。
@media print {
* {
background: transparent !important;
color: #000 !important; /* Black prints faster: h5bp.com/s */
box-shadow: none !important;
text-shadow: none !important;
}
a,
a:visited { text-decoration: underline;}
a[href]:after { content: " (" attr(href) ")"; }
abbr[title]:after { content: " (" attr(title) ")"; }
// Don't show links for images, or javascript/internal links
.ir a:after,
a[href^="javascript:"]:after,
a[href^="#"]:after { content: ""; }
pre,
blockquote {
border: 1px solid #999;
page-break-inside: avoid;
}
thead { display: table-header-group; /* h5bp.com/t */ }
tr,
img { page-break-inside: avoid; }
img { max-width: 100% !important; }
@page { margin: 0.5cm; }
p,
h2,
h3 {
orphans: 3;
widows: 3;
}
h2,
h3 { page-break-after: avoid; }
.hide-on-print { display: none !important; }
.print-only { display: block !important; }
.hide-for-print { display: none !important; }
.show-for-print { display: inherit !important; }
}
另外 - 不要相信这应该很重要,但我从未见过一个选择将!important
附加到中间没有空格的值,所以我会在那里放一个空格。
我发现:
.columns {
float:left;
}
或多或少会使page-break-*
属性无效。如果你的元素有一个类.columns
父级,这可能是问题所在。
处理此问题的一种简单方法是删除上层元素的浮点数,如下所示:
@media print {
div.columns {
float:none;
}
}
我偶然发现了这个线程,因为我正在寻找一种更有选择性的方法来做同样的事情。这种整体更改可能会弄乱页面的外观。