2016-08-09 27 views
1

Ich habe ein Bild der Höhe 5cm in eine block-container der Höhe 5cm. Ich gehe davon aus, dass das Bild perfekt passen sollte, aber eigentlich fop gibt eine Warnung aus:Warum Überlauf in Blockprogression?

WARNUNG: Content overflows the viewport of an fo:block-container 
in block-progression direction by 5784 millipoints. (See position 
19:10) 

Die Grenze, Margen und Polsterung ist deaktiviert. Was sollte ich noch deaktivieren?

<?xml version="1.0"?> 
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> 
<fo:layout-master-set> 
<fo:simple-page-master master-name="bodypage" page-height="29.7cm" page-width="21.0cm" margin="0cm"> 
<fo:region-body /> 
</fo:simple-page-master> 
</fo:layout-master-set> 
<fo:page-sequence master-reference="bodypage"> 
<fo:flow flow-name="xsl-region-body"> 

    <fo:block-container 
     absolute-position = "fixed" 
     background-color = "yellow" 
     margin-right  = "5cm" 
     top = "5cm" 
     left = "5cm" 
     height = "5cm" 
     ><fo:block border="none" padding="0" margin="0" 
     ><fo:external-graphic border="none" padding="0" margin="0" 
      src="dummy.pdf" width="5cm" height="5cm" 
      content-height="scale-to-fit" content-width="scale-to-fit" 
     /></fo:block 
     ></fo:block-container> 

</fo:flow> 
</fo:page-sequence> 
</fo:root> 

By the way, hat das Bild in PDF yellowspace oben: enter image description here

Antwort

1

An fo: external-Grafik ist ein Inline-Level-Element. Wenn es in einem Block enthalten ist, gibt es immer ein bisschen Leerraum vor und nach jedem Inline-Element bekannt (halb-führenden).

Es ist dieser Raum, der zu einer erhöhten Höhe des Inhalts des Blockcontainers und somit zum Überlauf führt. Sie sollten in der Lage sein, line-height = "0pt" auf dem Block anzugeben, der das Bild einschließt, um das richtige Verhalten zu erreichen.

HINWEIS: Ich hatte kein Bild zu testen, aber häufig begegnet dies und das ist, wie ich dieses Problem lösen.

+0

Das Schlüsselwort ist "halbführend", danke. Es scheint, dass die Spezifikation 1.1 es nicht erlaubt, den Wert direkt zu setzen, und der einzige indirekte Weg ist die Verwendung von 'line-height' oder (in meinem 'block-container'-Fall)' font-size'. – olpa