2010-06-14 96 views
3

使用apache FOP,想要創建一個標題左對齊,三行地址對齊右對齊,頂部對齊。xsl-fo標題 - 圖像左邊,三行文本右邊,頂部對齊

以下工作如果在流內完成,但在靜態內容頭('xsl-region-before')中,則左邊的&右對齊,但將地址塊下的徽標對齊,就好像表定義一樣被完全忽略。

我試過其他的選擇,比如嘗試內聯這兩個,或者使用浮點類似的結果。標題只是將它們視爲單獨的塊並將它們堆疊起來。任何人有任何建議?

我發現這個其他問題問頁腳同樣的問題,唉無回覆: Need instream-foreign-object and text to both align to the bottom in XSL-FO

相關片段如下:

<fo:layout-master-set> 
     <fo:simple-page-master page-height="8.5in" page-width="11in" master-name="only" margin=".5in .5in .5in .5in"> 
      <fo:region-body region-name="xsl-region-body" margin-top="1in" margin-bottom=".5in"/> 
      <fo:region-before region-name="xsl-region-before"/> 
      <fo:region-after region-name="xsl-region-after"/> 
     </fo:simple-page-master> 
    </fo:layout-master-set> 
    <fo:page-sequence master-reference="only"> 
     <fo:static-content flow-name="xsl-region-before"> 
       <fo:block font-size="7pt"> 
        <fo:table width="10in"> 
         <fo:table-column/> 
         <fo:table-column/> 
         <fo:table-body> 
          <fo:table-row> 
           <fo:table-cell> 
            <fo:block> 
             <fo:external-graphic src="img/print_logo.png" content-width="2in"/> 
            </fo:block> 
           </fo:table-cell> 
           <fo:table-cell display-align="center"> 
            <fo:block text-align="right"> 
             123 Credibility Street 
            </fo:block> 
            <fo:block text-align="right"> 
             Chicago, IL 60606 
            </fo:block> 
            <fo:block text-align="right"> 
             312-123-4567 
            </fo:block> 
           </fo:table-cell> 
          </fo:table-row> 
         </fo:table-body> 
        </fo:table> 
       </fo:block> 
     </fo:static-content> 

回答

4

我成功地實現通過將兩種元素的預期效果兩個單獨的具有絕對定位的塊狀容器:

<fo:static-content flow-name="xsl-region-before"> 
    <fo:block-container position="absolute"> 
     <fo:block> 
      <fo:external-graphic src="img/print_logo.png" content-width="2in"/> 
     </fo:block> 
    </fo:block-container> 
    <fo:block-container position="absolute"> 
     <fo:block text-align="right"> 
      123 Credibility Street 
     </fo:block> 
     <fo:block text-align="right"> 
      Chicago, IL 60606 
     </fo:block> 
     <fo:block text-align="right"> 
      312-123-4567 
     </fo:block> 
    </fo:block-container> 
</fo:static-content> 
1

回覆遲了,但是詢問你必須回答。所以這裏是:

是的,這裏需要絕對定位,但更重要的是你放置塊容器的順序。

最後一個容器的內容將在其他容器之上。