2014-09-25 21 views
11

çalışmıyor Bu Firefox'ta baskı önizleme içine beklenen sonucu vermezpage-break-sonra flexboxes

Chrome ve IE'de
body{ 
    display: flex; 
} 

aside{ 
    flex: none; 
    width: 100px; 
} 

div{ 
    flex: auto; 
} 

p{ 
    break-after: always; 
    page-break-after: always; 
} 

alıyorum 2 sayfa Benim yapmam gereken gibi. Bir ata bir esnek kutu olduğunda, FF'nin 2 sayfadaki divı kırmadığı anlaşılmaktadır. Niye ya?

+0

Bu hala 2017/08 itibariyle FF'de bir sorundur. Ancak, bu, henüz tarayıcıların hiçbirinde uygulanmayan "break-after" ile sabitlenebilir. – Blauhirn

cevap

0

, varsayılan olarak tarayıcı ile uyumlu olmayan bir özelliktir.

bir örneğin bir keman vardı ya başarmak için çalışıyoruz ne biraz daha özenli eğer yararlı olacaktır, ama bu işe yarayacak:

display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ 
display: -moz-box;/* OLD - Firefox 19- (buggy but mostly works)*/ 
display: -ms-flexbox;/* TWEENER - IE 10 */ 
display: -webkit-flex;/* NEW - Chrome */ 
display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */ 
+2

Hayır, öyle değil. İşte bir örnek: http://jsbin.com/tivuzoyeneha/1 –

2

Firefox, float elemanları ile bile sayfalarda doğru bir şekilde çalışmaz, bu nedenle flexin çalışmadığından şaşırmadım. Kaynak: CSS Page-Break Not Working in all Browsers

Genel olarak, Firefox sayfa sonu desteği büyük değildir. Bkz .: https://developer.mozilla.org/en-US/docs/Web/CSS/page-break-after

Eğer tutarlı, tarayıcılar arası baskı sonuçlarına ihtiyacınız varsa, cevap hemen hemen her zaman sunucu tarafındaki PDF neslini kullanmaktır, wkhtmltopdf veya princexml gibi bir araçla.

11

Firefox'ta çalışmayacağından eminim. sayfa-break kırabilir

şeyler

  • tablolar
  • yüzen elemanları sınırları
  • inline-block elemanları
  • blok elemanlarını (iç sayfa-break kullanarak) vardır

Ara verilmesi gerekip gerekmediğini tanımlamak için aşağıdaki kurallar uygulanır:

1.İlgili üç değerden herhangi birinin zorla kırılma değeri olması durumunda, yani her zaman, sol, sağ, sayfa, sütun veya bölge önceliğe sahiptir. ilgili değerlerin birkaçı böyle bir kesinti ise, akıştaki en yeni görünen öğesinden biri alınır (yani, kesme öncesi değeri, 'un kendisinin önceliğe sahip olduğu break-after değerinden önce gelir. içten içe değer üzerinde). üç ilgili değerlerden herhangi 2.If

bu kaçının sayfa önlemek-bölgesi, önlemek kolonu, kaçının, böyle bir kırılma bu noktada uygulanacaktır, bir kaçının ara değerdir. gerekirse uygulanmıştır

kez zorla molaları, yumuşak sonları ancak karşılık gelen önlemek değerindeki çözmek eleman sınırları, eklenebilir.Kısacası deyişle

break after - CSS | MDN , senin durumda işe yaramaz flex içine bunu kullanıyor neden olur.