2015-11-18 2 views
2

У меня есть страница, в которой я превращаюсь в pdf с wkhtmltopdf. У меня 3 макета столбца, и он хорошо работает в Chrome, но pdf неправильно создан. Есть ли альтернатива flexbox, которая даст один и тот же взгляд или способ заставить flexbox работать в wkhtmltopdf? Modernizr не помог. Благодарю.Flexbox wkhtmltopdf Rendering Issue

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

Попытайтесь использовать мультимедийный запрос для печати. –

ответ

3

wkhtmltopdfuses an old version of WebKit и поэтому вы должны использовать the original Flexbox spec, что далеко не такой мощный, но все еще может сделать некоторые одних и тех же эффектов.

Обратите внимание, что вам нужно будет префикс множества свойств с помощью -webkit-.

+0

См. Также https://github.com/wkhtmltopdf/wkhtmltopdf/issues/1522 и http://stackoverflow.com/questions/26036663/page-break-after-not-working-in-flexboxes. Я использую css-next, и установка 'Chrome> = 13' работала для меня. – Steve