:hover CSS pseudo-selector and IE6

Hi everybody!

I’m having troubles trying to make ol’ Internet Explorer 6 work with CSS :hover pseudo-selectors.
Everything works just fine with all modern browsers (of course), I want a table row be highlighted on mouse overs, and it works great with every browser I tried. Except for IE6, which unhappily happens to be the corporate official browser. :vader:

I tried to use the .htc fix (as reported by
this site
), but it doesn’t seem to work.

I tried to put the body { behavior:url("csshover.htc"); } either in my custom theme
styles.css
file or in Reindeer’s
styles.css
(as my theme descends from Reindeer), and I tried to put the
csshover.htc
:

  • in the application root folder (the same folder where index.jsp lies), as I read that behavior tags “refer to the HTML file path”
  • in the same folder as my theme’s style.css file
  • in the same folder as Reindeer’s style.css

but none of the above seems to work.

Do you have any suggestion?

Thanks in advance!

As a side note, this forum’s text editor deleted everything I wrote two times when clicking the list button or the link button. I’m using Google Chrome, is that a known issue? :unsure:

And I think ‘Save’ is a bit misleading for a ‘Post’ button, I happened to click it by mistake… (paying a little more attention would help, I know, as there’s only one button out of 4 that could mean ‘post’ :sleep: but losing the whole post twice made me compulsive! :smiley: )

The forum software is the default thing that comes with Liferay, and I’m sure these bugs have been reported.

I guess the .htc isn’t working because all the Vaadin application HTML elements are dynamically rendereded, and the .htc script has already ran before the elements are placed on to the page.

You would need to re-run the script after each Vaadin server-request.

EDIT: oh, and yes, the URL for the behavior is most likely relative to the application URL, not the CSS file. Use Firebug (or similar) and check the Network tab and see if you get any red resources there (wrong URL/missing resource).

hmm okay…
how could i re-run the script? I tried to explicitely call

executeJavascript("document.body.style.behavior=url(\"csshover3.htc\")");

on the main window both when the page is being created (that is, when components are being created and added to the layout) or from within my transactionStart() method in my application’s TransactionListener but it doesn’t work.

I guess I’m missing something though, because csshover3.htc doesn’t get loaded at all, even if I put the behavior tag inside my styles.css as well… I mean, no requests for csshover3.htc are ever sent by the browser, so it seems as though that rule is ignored…

Any idea? :mellow:

The problem might be that “executeJavaScript” is run before other updates, I’m not sure.

Try removing the quotes from the url.