XSLT/XSL-FO/SVG/MathML 仕様についてXSL-FO |
|
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> |