"Brian Cryer said:
Its worth trying to find out where the space you see is coming from. If you
are using IE 8 then hit F12 to bring up the Developer Tools, you can then
select the element you are interested in and see or trace the styles applied
to it.
No absolute need to post a URL if you can otherwise give a brief
and accurate enough explanation of the trouble. Your remark about
<br /> misled folk because this does not necessarily produce an
appearance of a *space*. It just makes the next bit start on a
new line under (there is nothing about gaps in the idea of br).
For example:
<p><span>text</span><br><span>text</span></p>
produces no noticeable space but it does produce a new line for
the second span, a span being an inline element.
Compare:
<div>text</div>
<div>text</div>
Here there is no space again and yet no br needed because div is
a block element.
However with
<form>text</form>
<form>text</form>
You get a space because browsers tend to use a style for form
that says to make a margin-bottom of some pixels or ems (unlike
with divs).
These styles come from a hidden stylesheet that modern browsers
use. Even if you can't locate it on your machine, you can
override the styles with your own. If you see a gap you don't
want, try a zero margin on the least thing that will have a local
and targeted affect. In this case probably form {margin-bottom:
0;}.
Why do default stylesheets give a gap? Because it is usually
something wanted by most people with a form, one form jammed up
under another is an unusual requirement. Why not a default
margin-bottom on a div? Because a div is not a natural box with a
meaning and often enough no gap is wanted by authors)