Andrew,
Depends in part about what you mean by "exact location" and the complexity
of your overall design. Do you want all your content to compensate for the
size of the browser window? Do you want your form to contain a matrix of
child windows, each with their own scrolling inner content and resizing?
Splitters? etc.
Tables will give you and easy to create matrix of percentage based,
relatively positioned content. Table cells themselves do not inherently
provide scrolling ability for inner content, splitters or other form-like
conventions. Though there are probably ways to get this with a mix of sub
elements (like Divs) and through the use of javascript. Percentage based
Tables are good for width, but can be more of a hassle for dynamic,
controllable heights.
Divs (ie: Panels) will give you the block level containers with absolute
coordinate or relative positioning. You'll get scrolling and clipping of
content with them. For them to adjust dynamically, you usually have to
manage them via JavaScript to get a really good fluid design (depending on
your design complexity). Percentage based Widths usually work well for a
majority of modern browsers, but Height can be a hassle (like tables).
Another thing that gives you a fluid layout easily is HTML Framesets. I
wouldn't suggest their use, however. The layout part is easy, though they
really tears apart the server-side architecture as the content of each frame
is a separate ASPX page. (there are tons of other problems associated with
frame, even without the server-side considerations, I only mentioned frames
because they do exist and they ARE easy to use to create the UI aspect of a
layout.).
We also have an ASP.NET server control called PanelSet for ASP.NET that will
create a matrix of resizable, nested child windows (Panels) and splitters.
It is created more like a Frameset or Table syntactically, but it uses no
HTML framesets, which means it exists all on a single ASPX page.
Technically, under the covers, it uses DIVs and Javascript. In downlevel
rendering mode, it renders all your page content within an organized layout
of Tables.
Hope that helps. You can check it out and download the eval if it interests
you:
http://www.coalesys.com/products/mercuryuiaspnet/features/panelset.asp
There are online sample to view as well:
http://www.coalesys.com/products/mercuryuiaspnet/samples/panelset/default.asp
Regards,
Joe King
Coalesys, Inc.