Re: [CSS2.1] Visual formatting model details

On Thu, 5 Feb 2004, fantasai wrote:
>>
>> The bit that is undefined is the "finding the preferred width"s part. I
>> don't see the problem here. Mozilla uses a different definition of
>> "preferred minimum width" than the spec (one that is not constant).
>
> I don't understand how making the "preferred minimum width" variable
> can give you Mozilla's rendering.

Just define the preferred minimum width as the width Mozilla achieves.


>> In any case I'm not convinced your dscription of the "improved" definition
>> is actually better, since it implies discontinuities in the width.
>
> I don't understand what you mean by "discontinuities in the width".

Take your example below and slowly increase (or decrease) the width of the
containing block. Does the inner block width snap? If so, there are
discontinuities. I would rather the width do this:

  width
 of inner
  block
    |
    |    ________________________
    |   /
    |  /
    |_/
    |
   -+---------------------------- width of containing block

...rather than:

  width
 of inner
  block
    |
    |       _______________________
    |     _|
    |   _|
    |__|
    |
   -+---------------------------- width of containing block

(not to scale)


> 3. hmax/h > wmax/w
>                          wmax      w
> |-------------------------+-------+--------> width
>              hmax                  h
> |-------------+-------------------+--------> height

That's hmax/h < wmax/w.


>>> Here's the problem statement:
>>>  1.  w > wmax
>>>  2.  h > hmax
>>>  3.  hmax/h > wmax/w
>>>  4.  w*hmax/h < wmin
>>
>> Yes, I understand the maths fine, what I would like to see are values for
>> those variables that actually demonstrate the problem, such that we are
>> able to write a testcase.
>
> w = 100a
> h = 100b
> hmax = 70b
> wmax = 90a
> wmin = 80a
>
> a = units for width
> b = units for height
> They don't have to be the same units.

Let a = b = px, so w = 100px, h = 100px, hmax = 70px, wmax = 90px.

hmax/h = 70/100. wmax/w = 90/100.

According to your third inequality, 0.7 > 0.9.

Thus those numbers don't work.

This is the problem I am having with your issue here. I don't disbelieve
there is a problem. I just haven't been able to come up with the numbers
that actually fit the criteria you specify.

When I say I want to visualise this I actually mean I want to create a
test case and see it for myself using real CSS and real browsers, not that
I have any trouble with the maths. The problem is that while it is
sometimes possible to come up with cases that mathematically are indeed a
problem, sometimes those cases are only relevant when you start invoking
negative numbers or imaginary numbers.

The full version of your criteria (and the version I had written on a
piece of paper here before I gave up trying to solve it) are thus:

   A.  w > wmax > wmin > 0
   B.  h > hmax > 0
   C.  hmax/h > wmax/w
   D.  w*hmax/h < wmin

-- 
Ian Hickson                                      )\._.,--....,'``.    fL
U+1047E                                         /,   _.. \   _\  ;`._ ,.
http://index.hixie.ch/                         `._.-(,_..'--(,_..'`-.;.'

Received on Thursday, 5 February 2004 14:31:06 UTC