"I am designing (not developing) a databased web application. There
will be many web pages, each with many fields, links, buttons, etc. I
would like to know what my options are for specifying the size and
location of the different objects on the web pages."
You are not actually making the dynamic pages yourself? But want to
specify static templates to give the positioning and layout of the
pages? This could be done with simple html, using tables, other
elements, and css.
"Since I will not be writing the code, I just need a shorthand method
to specify locations and sizes. I guess the two methods that I can
imagine are by using tables, or by using absolute positioning. I am
open to other methods."
A good web applications developer should be able to handle the
database side and the interface side. You could simply give them a
drawing of what you what it to look like. Or static html page. No need
to get overcomplicated if you are not familiar with advanced methods
of styling. The developer is the one that should be able to implement
the correct methods. It is really important that you discuss it well
with him or her because one thing they should know about is web
interface. You may have a good idea about how you want it to be
visually communicated but not necessarily if it possible/viable. Then
they can draw up a schematic that make sense to the both of you.
Personally I would be fine if somebody gave me some static HTML
templates for the interface. Though this would be a least the 3rd
stage approx. I would want to know a bit about what they are hoping to
achieve first. This is merely to make sure that things don't get done
if they are not strictly necessary or if you need additional pages and
templates.
Though it is good to be prepared too. There a plenty web design
packages that would be fine for drawing up static HTML templates,
without much knowledge necessary. Let the developer clean it up and
make sure it works cross-browser.
"For example, I believe that in HTML I can have tables with rows and
columns. And I can have sub-tables (tables within tables). And I can
specify that a particular field spans 2 columns. With that knowledge
I can specify that
a particular label will go in a table, row1 column 1, and that the
field associated with that label will go in row1 column2 through
column3. How do I specify column widths and row heights?"
You can put tables within tables but I wouldn't generally recommend
it. However if you a familiar with tables you have colspan and rowspan
to get cells spanning columns and rows. The most full proof way of
doing is to split your template into manageable blocks of tables
display one after each other e.g.
<html>
<body>
<table border="1" width="100%">
<tr>
<td><h1>Heading</h1></td>
</tr>
</table>
<table border="1" width="100%">
<tr>
<td width='10%'></td>
<td width='90%'><h2>Sub-heading</h2></td>
</tr>
<tr>
<td colspan='2' height='10'></td>
</tr>
</table>
<!--
This table I want to repeat dynamically
From data pulled from the database based on search results
-->
<table border="1" width="100%">
<tr>
<td width="75%" rowspan="4">Main Area</td>
<td width="25%">Param1</td>
</tr>
<tr>
<td width="25%">Param2</td>
</tr>
<tr>
<td width="25%">Param3</td>
</tr>
<tr>
<td width="25%">Param4</td>
</tr>
</table>
<!--
End repeat
!-->
<table border="1" width="100%">
<tr>
<td>Footer</td>
</tr>
</table>
</body>
</html>
It may seem odd, but it is accurate and easy to read.
Tables themselves are being used less and less nowadays because of
more efficient methods of positioning of inline/block elements.
However for a template tables are fine.
"What are the other ways to place things on a web page? For example,
is there such a thing as absolute positioning? Can I say that a data
entry field should appear x inches (or x pixels) down the page, and
that it is 2" wide?"
Yes you can do that. But it shouldn't be used unless it is necessary
to do so. You can usually achieve the positioning you want with block
and inline elements.
Hope that helps,
Paul |