More on that Opera 7 bug, at least I think it’s a bug.
It appears the Opera 7 may renger the page sooner than it should with respect to <link rel="Stylsheet" ... >
and <link rel="Alternate Stylsheet" ... >
usage. In my case, I had the alternate stylesheets declared before my regular stylesheets:
<link
rel="Alternate Stylesheet"
href="/style/css/screen-default-right.css"
type="text/css"
media="screen"
/>
<link
rel="Stylesheet"
href="/style/css/screen-default-left.css"
type="text/css"
media="screen"
/>
They were in this order due to the way that this site is built. This of course meant the Opera 7 would not render the style at all. The twist to this setup was that if I specified full paths instead of relative ones:
<link
rel="Alternate Stylesheet"
href="/style/css/screen-default-right.css"
type="text/css"
media="screen"
/>
<link
rel="Stylesheet"
href="/style/css/screen-default-left.css"
type="text/css"
media="screen"
/>
they would get rendered. After some tinkering, I discovered that swapping their order cured the problem in Opera 7:
<link
rel="Stylesheet"
href="/style/css/screen-default-left.css"
type="text/css"
media="screen"
/>
<link
rel="Alternate Stylesheet"
href="/style/css/screen-default-right.css"
type="text/css"
media="screen"
/>
Go figure. Is this a real bug, or is there some unwritten rule about link tag ordering that I don’t know about?
I see that Dive Into Mark talks about hiding CSS from Opera 7. Yeah it’s even easier than that. Put your alternate stylesheet tags first. ;-)