- From: fantasai <fantasai.lists@inkedblade.net>
- Date: Fri, 10 May 2013 19:53:22 -0700
- To: www-style@w3.org
On 11/13/2012 02:26 AM, Kang-Hao (Kenny) Lu wrote:
> I was again surprised by CSS 2.1 with a test case like
>
> data:text/html,<style> div { width: 5em; border: red solid;
> text-align: right; margin: auto; } span { border: blue solid;
> padding-left:50px; }</style><div><span>jfoiasdjodfasdf</span></div>
>
> . That is, when an unbreakable inline box has a width bigger then the
> linebox, 'text-align' has no effect and is treated as 'left'. But I
> don't think this is clear from the spec.
>
> The closest thing I can find is this paragraph in 9.4.2
>
> # When the total width of the inline-level boxes on a line is less
> # than the width of the line box containing them, their horizontal
> # distribution within the line box is determined by the 'text-align'
> # property. If that property has the value 'justify', the user agent
> # may stretch spaces and words in inline boxes (but not inline-table
> # and inline-block boxes) as well.
>
> , which does imply that 'text-align' has no effect when the total width
> is bigger than the width of the line box, but what's the default
> behavior? This paragraph in the same section
>
> # In an inline formatting context, boxes are laid out horizontally,
> # one after the other, beginning at the top of a containing block.
> # Horizontal margins, borders, and padding are respected between
> # these boxes. The boxes may be aligned vertically in different ways:
> # their bottoms or tops may be aligned, or the baselines of text
> # within them may be aligned. The rectangular area that contains the
> # boxes that form a line is called a line box.
>
> seems quite ambiguous. In particular, it doesn't say
>
> 1. It's the start side where the boxes are started being laid out. In
> fact, this section doesn't mention 'direction' at all and I don't
> think "9.10 Text direction: the 'direction' and 'unicode-bidi'
> properties" mentions inline box layout either.
Added
"If (after justification, if any) the inline contents of a line box
are too long to fit within it, then the contents are start-aligned:
any content that doesn't fit overflows the line box's end edge."
Let me know if that's accurate.
> 2. By default there should be no spacing between the inline boxes.
Given we also don't say anything about no extra spacing between block boxes,
I think I might punt on this one... or maybe I'll work it into the as-yet
unwritten intro somehow, not sure yet.
~fantasai
Received on Saturday, 11 May 2013 02:53:49 UTC