Height/Width avalable

I haven't figured out a reasonable way to specify that an element should 
take up the remaining space, either horizontally or vertically.  This is 
specifically related to positioning alongside a dynamic element, such as a 
sidebar who width is defined by the text it contains.

Does it seem reasonable to have a value 'available' for properties 'height' 
and 'width'?

This would solve my immediate problem, but it does explicitly describe what 
happens when two or more elements with "height/width:available;" occur in 
the same line/column.  The simple solution involves splitting the space 
evenly.  There is also the solution implemented by HTML <FRAME> tags: 
define a unit '*' to weight the division of the remaining space.  This is 
more general, but also more difficult to implement (although most of it is 
already required to implement "alignment:justify;").

Any sort of 'remaining/available' setting is apt to have a profound effect 
on the rendering/positioning algorithm since it forces the document object 
tree to be traversed twice during rendering (first for normal width/height 
values, second to allocate remaining space and set final positions).

Has this been thought of/discussed before?  What are your the reactions?




On a similar note, what to people think of adding the short-cut values of 
'maximum' and 'minimum' to height and width?  'maximum' should mean:
	horizontal-visibility==visible ?
		max( min( width-max, width available ), width needed ) :
		min( width-max, width available );
and 'minimum' should mean:
	horizontal-visibility==visible ?
		max( width-min, width needed ) :
		width-min;
Obviously similar values could be defined for height.

(Note: horizontal-visibility was proposed in my last email.  It is 
equivalent to the current visibility, but only applies to horizontal 
spacing)



Andrew n marshall
  student - artist - programmer
    http://www.media-electronica.com/anm-bin/anm
      "Everyone a mentor,  Everyone a pupil"

Received on Tuesday, 25 November 1997 04:05:29 UTC