Running your HTML through the W3C validator yields the reasons for the issues your having, here are the errors direct from the validator.
Line 3, Column 1: Missing xmlns attribute for element html. The value should be: http://www.w3.org/1999/xhtml
Many Document Types based on XML need a mandatory xmlns attribute on the root element. For example, the root element for XHTML might look like:
<html xmlns=“http://www.w3.org/1999/xhtml”>
[I]Line 11, Column 16[/I]: document type does not allow element "div" here; assuming missing "body" start-tag
Line 12, Column 6: document type does not allow element “body” here
The element named above was found in a context where it is not allowed. This could mean that you have incorrectly nested elements -- such as a "style" element in the "body" section instead of inside "head" -- or two elements that overlap (which is not allowed).
One common cause for this error is the use of XHTML syntax in HTML documents. Due to HTML's rules of implicitly closed elements, this error can create cascading effects. For instance, using XHTML's "self-closing" tags for "meta" and "link" in the "head" section of a HTML document may cause the parser to infer the end of the "head" section and the beginning of the "body" section (where "link" and "meta" are not allowed; hence the reported error).
Line 26, Column 15: there is no attribute “width”
You have used the attribute named above in your document, but the document type you are using does not support that attribute for this element. This error is often caused by incorrect use of the "Strict" document type with a document that uses frames (e.g. you must use the "Transitional" document type to get the "target" attribute), or by using vendor proprietary extensions such as "marginheight" (this is usually fixed by using CSS to achieve the desired effect instead).
This error may also result if the element itself is not supported in the document type you are using, as an undefined element will have no supported attributes; in this case, see the element-undefined error message for further information.
How to fix: check the spelling and case of the element and attribute, (Remember XHTML is all lower-case) and/or check that they are both allowed in the chosen document type, and/or use CSS instead of this attribute. If you received this error when using the <embed> element to incorporate flash media in a Web page, see the [FAQ item on valid flash](http://validator.w3.org/docs/help.html#faq-flash).
[I]Line 26, Column 28[/I]: there is no attribute "height"
You have used the attribute named above in your document, but the document type you are using does not support that attribute for this element. This error is often caused by incorrect use of the "Strict" document type with a document that uses frames (e.g. you must use the "Transitional" document type to get the "target" attribute), or by using vendor proprietary extensions such as "marginheight" (this is usually fixed by using CSS to achieve the desired effect instead).
This error may also result if the element itself is not supported in the document type you are using, as an undefined element will have no supported attributes; in this case, see the element-undefined error message for further information.
How to fix: check the spelling and case of the element and attribute, (Remember XHTML is all lower-case) and/or check that they are both allowed in the chosen document type, and/or use CSS instead of this attribute. If you received this error when using the <embed> element to incorporate flash media in a Web page, see the [FAQ item on valid flash](http://validator.w3.org/docs/help.html#faq-flash).
Line 26, Column 41: there is no attribute “style”
You have used the attribute named above in your document, but the document type you are using does not support that attribute for this element. This error is often caused by incorrect use of the "Strict" document type with a document that uses frames (e.g. you must use the "Transitional" document type to get the "target" attribute), or by using vendor proprietary extensions such as "marginheight" (this is usually fixed by using CSS to achieve the desired effect instead).
This error may also result if the element itself is not supported in the document type you are using, as an undefined element will have no supported attributes; in this case, see the element-undefined error message for further information.
How to fix: check the spelling and case of the element and attribute, (Remember XHTML is all lower-case) and/or check that they are both allowed in the chosen document type, and/or use CSS instead of this attribute. If you received this error when using the <embed> element to incorporate flash media in a Web page, see the [FAQ item on valid flash](http://validator.w3.org/docs/help.html#faq-flash).
Line 26, Column 81: an attribute specification must start with a name or name token
An attribute name (and some attribute values) must start with one of a restricted set of characters. This error usually indicates that you have failed to add a closing quotation mark on a previous attribute value (so the attribute value looks like the start of a new attribute) or have used an attribute that is not defined (usually a typo in a common attribute name).
Line 26, Column 81: element “iframe” undefined
You have used the element named above in your document, but the document type you are using does not define an element of that name. This error is often caused by:
- incorrect use of the “Strict” document type with a document that uses frames (e.g. you must use the “Frameset” document type to get the “<frameset>” element),
- by using vendor proprietary extensions such as “<spacer>” or “<marquee>” (this is usually fixed by using CSS to achieve the desired effect instead).
- by using upper-case tags in XHTML (in XHTML attributes and elements must be all lower-case).
Line 39, Column 9: end tag for “body” omitted, but OMITTAG NO was specified
You may have neglected to close an element, or perhaps you meant to “self-close” an element, that is, ending it with “/>” instead of “>”.
Basically what this all means is as follows:
- Your opening DIV element is currently wrapping the BODY element which is invalid
- You have declared no XMLNS referral URL in your HTML tag which is for validation purposes
- You have a double quote sitting before the src attribute which is causing the end tag for your </iframe> to remove itself from the DOM
- Because your using a strict <!DOCTYPE> using attributes such as width, height and style are invalid on an <iframe>, it would be more beneficial to use a transitional <!DOCTYPE> instead
- Again because of the <!DOCTYPE> your using the <iframe> element is invalid because it has been removed as an element in the strict markup documentation
- The last error is been caused because of the first point i made