AH Formatter / XSL Formatter
Q&A



XSLT/XSL-FO/SVG/MathML 仕様について

XSL-FO

トップ
基本・一般
AH Formatter について
XSL Formatter について
操作方法
プログラミング
XSLT/XSL-FO/SVG/MathML 仕様について
XSLT/XSL-FO/MathML テクニック
索引
Q.  インラインで挿入されたサイドフロートが、アンカーと同じ行ではなく1行下の位置から始まります。 [No.2005090901]
A. 

FOは以下のようになっていました。

<fo:block>Content-1 
<fo:float float="end"><fo:block>Float object</fo:block></fo:float>
</fo:block>

このような場合、"Float object"は"Content-1"の次の行の位置に配置されます。floatの垂直方向の開始位置は、行頭にアンカーがあればその行の位置、それ以外ならば次の行の位置です。理由は、行の流し込み処理において、floatの前のテキスト、float、floatの後のテキスト(回り込み)という順に位置が決定されるためです。

次のように順番を変えると、同じ行に配置されます。

<fo:block>
<fo:float float="end"><fo:block>Float object</fo:block></fo:float>
Content-1 </fo:block>

また、以下のHTML+CSSをIEで表示させた場合も同様の配置であることが確認できます。

<div>
   The quick brown fox jumps over the lazy dog.
   <div style="float:right; width:2cm; background: yellow">Here is float</div>
</div>

Copyright © 1999-2011 Antenna House, Inc. All rights reserved.
Antenna House is a trademark of Antenna House, Inc.