- From: Andrew Fedoniouk <news@terrainformatica.com>
- Date: Tue, 11 May 2004 13:12:23 -0700
- To: "Mikko Rantalainen" <mira@cc.jyu.fi>, <www-style@w3.org>
Hi, Mikko, <p>1 2 3 4 5 <span /> 6 7 8 9<p> and style span { width: 80%%; } See: first: compute everything as %% does not exist at all. apply all paragraph wrapping rules as usual. second: compute free space for each line box which we've got on first step. compute all elements which have %% according to free space. replace elements in line boxes. In example given above line box having such 80%% <span/> will always has 20% of free space unoccupied. And I cannot see any problems with span { min-width: 2em; } this span will be computed in first step as having width 2em; Example: http://terrainformatica.com/w3/p2/width1.jpg And here is first paragraph (with three inputs was wrapped into two line boxes) http://terrainformatica.com/w3/p2/width3.jpg Second line has 70% of free space unoccupied. Andrew Fedoniouk. http://terrainformatica.com > > %% units calculation rule: > > > > Two steps calculation: > > 1) mincontentwidth = minimum width of all elements in the line box. (dont > > count attributes with %% at this step) > > freespacewidth = containercontentwidth - mincontentwidth. ( > > containercontentwidth is known at this step) > > 2) change all attributes in all elements having %% units value according > > this value and freespacewidth (percent calculation) . > > OK. With markup like this > > <p>1 2 3 4 5 <span /> 6 7 8 9<p> > > and style > > span { width: 80%%; } > > what belongs in the *first* "line box"? If the minimum combined > width of the words from "1" to "9" is just equal to the container > width I assume that the 'freespacewidth' is zero. So the span should > have computed width of zero? Or is it something else? > > If we add rule > > span { min-width: 2em; } > > that just makes the span 2em width because it would otherwise have > narrower computed value (see above). > > You see, the problem is, when to drop the rest of the inline items > to *next* "line box" and use remaining space for the "%%" unit? I > think the default behavior is to put everything in the first line > box that fits in (greedy algorithm). > > IMO, the "%%" unit is clearly defined only if all of the containers > content fit in one line. And for a such a special case, I think we > can come up with something better than "%%". > > -- > Mikko >
Received on Tuesday, 11 May 2004 16:21:12 UTC