The recommended way to write a web page these days is to use html markup to describe the content (using appropriate html tags such as <h> for headings, <p> for paragraphs, <ul> for unordered lists including menus, etc), and then style this using css to give it the visual look you want.
Referencing your first question, if you had, say, an image followed by a paragraph of text
<img src="image_file_name" alt="">
<p>Some text below the image</p>
and you wanted some space between them, you could simply apply a bottom margin to the image in the css file :