On my website www.cherrietestingwebsite.com on the all the pages with the exception of the homepage there is gap between my background image and the footer, which I can't get rid of, does anyone know what is causing the problem?
I don't really see any gaps between the image and the footer, even on those other pages. but reviewing the code, the <div> structure seems off.
Oh, and first, the DOCTYPE declaration is not on the very first line, instead you have:
<?xml version="1.0" encoding="UTF-8"?>
DOCTYPE info here: http://www.w3schools.com/tags/tag_doctype.asp
Very important to get this right, since the DOCTYPE is howthe browser knows which set of rules to apply when parsing the page.
Now the <div> structure... there is GREAT commenting on the page:
<!-- MAIN CONTAINER DIV BEGINS -->
but your <div> structure does not follow the comments. For example, comment says:
<!-- MAIN CONTENT CONTAINER DIV BEGINS -->
But there is no opening or closing div for the image container.
And at the bottom:
<!-- MAIN CONTAINER DIV ENDS -->
but there is no closing div tag (</div>).
So if the DOCTYPE is off and there are mismatched <div> tags (that is, not an open and close tag as a pair), the page layout can be way off.
For your review:
It's good practice when coding to put in the closing tag to any element as soon as you finish the opening tag.
So for example, put in your opening #wrapper tag and then put in the closing #wrapper tag before you put anything in #wrapper.
Now if you are using #wrapper in the normal way... that is to "wrap" all the content.... then everything... all content needs to be placed between the opening #wrapper tag and the closing #wrapper tag.
Now as you add content to the main, all encompassing wrapper <div>, indent each level of nesting. So when you nest one level deep, indent the code so you can visually see what content in inside what. Next level of nesting gets indented one more time.
That practice, along with always adding the closing tag a couple of lines below the opening tag at the same time the opening tag is created, will help you keep content in the proper container element and eliminate extra opening or closing tags...... always crate them in pairs.
PS: After trying to decypher the <div> structure of another post, let me add one thing to "always create <div> tags in pairs... an opening and closing".... Add a comment right before the closing tag to remind you which <div> you are closing... like this:
<!-- close wrapper -->
That sure helps when trouble shooting later.
Thanks for your help, I sorted all my coding and it now all validates to xhtml strict apart from the fact there is one error on the homepage, as I have used Jquery but I don't know how to get around this at all, am not sure if you can. Thankfully the problems with the cross-browsers have now gone. I was wanting to put text over the background image, I have looked at some tutorials, what is the easiest way to achieve this? Once again many thanks.
Well background images have a special meaning when talking about CSS. A <div> background image is not counted as content so you can use an image as the "background" and still add regular old text as the content of a <div>. http://www.w3schools.com/cssref/pr_background-image.asp
So first, give each section that you want to have a background image a unique name... you can't call them all
etc. and then use the background image property... for example:
Yeah thanks for your help, I have carried out the advice you gave regarding the background images on the about us page and it works fine, however the only problem is the text creates a black gap at the top between the image and the navigation bar, the more text you type the bigger the gap gets. It happens across all the browsers too?