我有一个页面,我正在变成一个带有wkhtmltopdf的pdf。我有一个3列布局,它在Chrome中运行良好,但pdf生成不正确。是否有一个替代flexbox可以提供相同的视图或方法使wctmltopdf中的flexbox工作? Modernizr没有帮助。感谢。
HTML:
<div class="header">
<div id="name" class="center">
<h2>
Centered Text
</h2>
</div>
<div id="links" class="left">
<h3>
Left Line 1
<br>
Left Line 2
</h3>
</div>
<div id="contact" class="right">
<h3>
Right Line 1
<br>
Right Line 2
</h3>
</div>
</div>
</div class="clear"></div>
CSS:
.header {
margin-top: 0;
margin-bottom: 2px;
display: flex;
justify-content: space-between;
}
.center {
order: 2;
text-align: center;
}
.left {
order: 1;
float: left;
text-align: left;
}
.right {
order: 3;
float: right;
text-align: right;
}
.clear:before,
.clear:after {
flex-basis: 0;
order: 1;
}
.clear {
clear: both;
}
答案 0 :(得分:8)
wkhtmltopdf
uses an old version of WebKit所以你必须使用the original Flexbox spec,它不是那么强大,但仍然可以做一些相同的效果。
另请注意,您必须使用-webkit-
为许多属性添加前缀。
答案 1 :(得分:0)
该问题中的此特定评论带来了对我有用的解决方案:https://github.com/wkhtmltopdf/wkhtmltopdf/issues/1522#issuecomment-848651693
"要使 wkhtmltopdf 上的工作灵活,您需要使用 display: -webkit-box; for flex 和 -webkit-box-pack: justify; for justify-content: space-between;。所以我们应该使用旧的 flex 语法"