I want a solution for tag:hover that is not working on ie6. My guess is it has to be done with javascript.

I found this patch: csshover3.htc (http://www.xs4all.nl/~peterned/csshover.html), I checked it's demo! and i didn't work on my ie6 browser!

There has to be an elegant way to solve this very BIG and basic problem, may be a jquery plugin.

Any lead is appriciated

  • Subscribe to the Progressive Enhancement school of thought and don't spend any time trying to make this work in IE6. Just let that browser not have a pretty :hover behavior, so long as its functional. Dwayne Anderson almost 10 years ago
  • Again, IE handles javascript just fun, so just use jQuery to define the hover state, and what CSS properties to insert upon hover. There is also a .html(); method for inserting HTML in when an element is hovered over. Jensen almost 10 years ago
  • whatever:hover works for me - is your IE6 weirdly configured? Tony Crockford almost 10 years ago
  • I am disgusted that the comments that told you to forget your problem got upvoted, when this is so easily fixed. Do not listen to such lazy people... if you want a :hover, then you should have it! Browsers should listen to the coder, coders should not listen to the browsers... Jensen almost 10 years ago
  • Laziness makes intelligent! Marcel almost 10 years ago

5 answers

danwellman 5600

Does the link have an alpha-transparent png background-image that is filtered with the AlphaImageLoader filter? That can cause :hover states not to work.

Add all the code you're using and further troubleshooting may be possible :)

Answered almost 10 years ago by danwellman
Jensen 1

You could write a snippet of jQuery to solve your problem.

 $("#tag-name").hover( function(){
        'background-color' : '#FFF',
        'border' : '2px solid #FFF000'

When the first selector, $("#tag-name") is called upon with the .hover() method, it will run the .css() binding on the $(this) selector. You can change the value of 'this' to be whatever element you would like to modify with your hover event. You can also change the properties that are being manipulated with CSS in the scope.

You can also change the .css(); method to .html(); if you want to add HTML on a hover event. ANOTHER possible way to go would be to use the .addClass(); method to add a class that you can just define in your CSS file.





Answered almost 10 years ago by Jensen
  • And what if you don't wanna use JS, and what if JS is deactivated (that happens quiet often because of IE6 security problems), or if you use another JS Library? Marcel almost 10 years ago
Marcel 57

csshover3.htc normally should work fine, have you declared in your CSS what elements should be affected by the .htc?

Answered almost 10 years ago by Marcel
Marcel 57

Users of IE6 must accept that they won't get all with their oldtimer, think about it. Maybe the hover isn't that important. Or do you open a submenu with hover? Then i understand you want to get working this.

Answered almost 10 years ago by Marcel
  • Or you can teach an old dog a new trick, and learn some jQuery... Jensen almost 10 years ago
  • Booah... i think only when somebody surf with IE6 maybe it's machine isn't the newest, and IE6 hasn't neither good JS performance, so maybe in IE6 its better to leave all the hover stuff, than make the page slow in usability!? Thats why i say "Maybe" hovers isn't important. But you can take it as a bad answer... or you can think about it, if you can! Marcel almost 10 years ago

As long as you dont NEED it, FORGET IT!

Okay.. it really depends on your customers if thats possible ;) But if most of them use the IE7 or higher, or even a different Browser, forget the IE6. Just look for the basic functions, make them work. But dont care too much about some nice hover effects or something like that, let the IE6 user FEEL that he NEEDS to upgrade ;)

Answered almost 10 years ago by Sven Finke