1
1
mirror of https://github.com/Kozea/WeasyPrint.git synced 2024-10-05 00:21:15 +03:00

Intrinsic widths: account for floats in inline contexts

This commit is contained in:
Simon Sapin 2012-06-28 18:46:54 +02:00
parent cf822b981f
commit c36d6b6b29

View File

@ -157,13 +157,13 @@ def inline_preferred_minimum_width(document, box, outer=True, skip_stack=None,
else:
skip, skip_stack = skip_stack
for index, child in box.enumerate_skip(skip):
if not child.is_in_normal_flow():
if child.is_absolutely_positioned():
continue # Skip
if isinstance(child, boxes.InlineReplacedBox):
# Images are on their own line
current_line = replaced_preferred_width(child)
elif isinstance(child, boxes.InlineBlockBox):
elif isinstance(child, boxes.InlineBlockBox) or child.is_floated():
if child.is_table_wrapper:
current_line = table_preferred_minimum_width(document, child)
else:
@ -188,13 +188,13 @@ def inline_preferred_width(document, box, outer=True):
widest_line = 0
current_line = 0
for child in box.children:
if not child.is_in_normal_flow():
if child.is_absolutely_positioned():
continue # Skip
if isinstance(child, boxes.InlineReplacedBox):
# No line break around images
current_line += replaced_preferred_width(child)
elif isinstance(child, boxes.InlineBlockBox):
elif isinstance(child, boxes.InlineBlockBox) or child.is_floated():
if child.is_table_wrapper:
current_line += table_preferred_width(document, child)
else: