Basics of Forma Layout

A

Andrew Chalk

Perhaps someone more experienced than I can help me with a very basic issue:

Suppose you are designing ASP.NET pages that resemble forms. In terms of
going about laying these out, if you want to control the exact location of
each element, do you use a table and place elements in the cells?

Also, should one use absolute positionong, or what?

Many thanks.
 
J

Joe King

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.
 
A

Andrew Chalk

Thanbks for the answer. Looking at your home page, was the "Office" style
menu on the left created with PanelSet?

- A
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,743
Messages
2,569,478
Members
44,898
Latest member
BlairH7607

Latest Threads

Top