I am trying to work out how I would go about creating a website that has 3 separate ‘layers’ (top navigation, then content, then footer) each with a different background image, that tiles to 100% width… but I want my content to be centred (as if the containing divs had margin: 0 auto applied).
So far I have been attempting to create divs just for the background images, and then absolutely positioning my content divs, but allowing them to automatically centre.
But of corse, I am taking elements out of the ‘flow’ of the document there, and so my background image divs end up stacking up against each other.
This is really tough to explain so hopefully this example will help:
As you can see, I have my blue div, where the background stretches to 100% BUT I WANT MY NAVIGATION AND A LARGE IMAGE TO CENTRE HERE.
I have my body which is green, then a hp_content div, this would be where all my content would sit, centred, the problem here is you cannot apply a margin or a padding value (i’ve applied them to show them not working), only a position from the top of the parent/browser, which will lead to problems when making my site responsive I believe.
Then I have my red div which is the same as the top navigation (blue) div, It has a 100% border but I want the footer stuff (twitter feed, latest blog post, and contact details) to be centred here.
Hopefully some one understands what I am trying to achieve and knows how to correctly set a page like this up, any help is much appreciated!
Jon
Ok! Try structuring your HTML something like this:
Then some CSS like:
Play around: http://jsfiddle.net/FC2Ea/
So for each site section, you’d have a container for all of that section’s content with an easy-to-remember class name like “.content”. You can set all the content to the same width, or each section’s content to different widths depending what you’re going for. Either way, the sections will occupy 100% of the browser’s width. Good luck! 🙂