I'm guessing you'd get some good information from some basic HTML / CSS tutorials which you should be able to find with google.
But a few short pointers...
1. There are two basic kinds of element types: inline and block. Block is always preceeded and followed by line breaks, inline elements are not.
1. You may or may not know this since you did not post all HTML code for your page, but only block level elements are allowed in the body element. I.e. this is not allowed
<body>
text
<span>more text
</body>
"text" is character data and that isn't allowed in the body element. span is an inline element and that isn't allowed either. div, p etc are all ok though. You should always validate your code.
img is an inline element, but output is generated on rows lines, which means that one 100px high image will not be placed over several rows, so unless the text next to it is also 100px high, the text will appear next to the image at the very bottom of it.
the float property may be used to break things out of the ordinary content flow. If you gave your image float: left, the content following it would continue on its right side, since the image no longer affects other content placement on the page, except for the very space it needs for itself.
after a floating element, to go back to ordinary content flow, you use the clear property, which in this case would be needed for your form element. clear: left