Annelies wrote:
VK wrote: Unfortunately there is no such way. IE simply doesn't
support XHTML and it doesn't plan to do so, plain all
of it (btw IE 6.0 under Win98 SE doesn't show scrollbars
on initial load neither). So you have three options:
1. Accept that at the very least 60% of your visitors
will get random / broken site layout and behavior.
2. Convert the entire site to HTML Strict / Frameset
and revalidate it.
3. If you want to keep the original concept of "modern
and as strict as possible" then convert the site into
conventional XML + XSLT structure.
The use of XHTML solution was an error to fix. Try to
explain it to the customer to get additional funding to
redo it:- or go by the option 1.
I'll have no choice then but to explain my customer that
the original code has been badly written so they'll have
to stick with it (and maybe remove/replace the dropdown
menu at the top to stop the scrollbars from disappearing)
or have to get the html rewritten.
Either way, thanks for the clear explanation!
Clarity and explanation are things that VK does not provide. Granted
VK's posts in this thread are among his more lucid so maybe they could
be considered clear. They don't explain anything. You have an
intermittent problem and IE's lack of support for XHTML is a constant.
Constant conditions do not tend to have intermittent manifestations.
IE's lack of support for XHTML is not altered by navigating and then
clicking the back button.
Something else is responsible for the manifestations you observe, but
you appear to have removed this drop-down menu so the issue is beyond
resolution. However I also observe that declaration in layout.css:-
| html, body {
| background : #EEEEEE url('background.gif') repeat-y top center;
| font : 0.8em Verdana,sans-serif;
| padding : 0px;
| margin : 0px;
| height : 100%;
| text-align : center;
| behavior:url("../lib/csshover.htc");
| }
- sets the height of both the HTML and BODY elements to 100% and then
the major containing DIVs have their height set to 100%. It just takes
one assignment of, or implied use of overflow:hidden; on any of those
elements to render the contents un-scrollable.
But the biggest direct suspect for your problem is the csshover.htc,
which is badly written and very likely to produce seemingly chaotic
interactions between the document and any style sheets it uses. As it
assigns mouseover and mouseout listeners to lots of elements in the DOM,
determined by a regular expression-based examination of all of the style
sheets, and those event handlers apply and remove class names, unless
well understood its actions are likely to be obscure and unexpected.
Particularly, its behaviour may be significantly altered by the initial
location of the mouse, such that if a page loads with the mouse over the
document (as would normally be the case following hypertext navigation)
its outcome may significantly differ from the outcome of loading a page
with the mouse off the document (as would normally be the case when
using the back button.
The style-sheets themselves don't appear to do anything that justifies
the existence of the csshover.htc so its use in the first place is
questionable.
Richard.