Here's the breakdown of how I'd complete your project:
1. First of all I'd use xhtml, because you said that you wanted it to work with all browsers, iphones, and androids, which html5 isn't as smooth with yet.
2. Using CSS would give you the cleanest and easiest code to work with. I'd use an external css document or just put the css at the top of the page, whichever one you prefer. I'd create custom classes for every box/image on the page and name them so it'd be even easier for you to work with the code find where you want to be. ex: "image 1,2,3, ect" or "text box 1,2,3, ect." Feel free to message me on here if you have any questions!