CSS - Hacking :hover In Ie
Problem page. Ok, I want to avoid using javascript and prefer to use CSS to change the background image of a hyperlink on the hover event (see the left nav menu). Of course, IE doesn't support :hover outside of anchors. Works beautifully in FF, Opera.
I found an interesting article that mentions how to go about hacking IE. Essentially, creating a .htc file w/ javascript that when tied in with the style sheet, will perform the hover effect (will get to this point in a moment). When I tried to do that, it still didn't work. After more detailed reading, it turns out on Win XP w/ SP 2 that you have to insert a x-content mime header into the page. No luck. So, after beating my head over and over again, I'm resorted here. If I know I can use javascript to achieve the same effect, and I'm creating a .htc file that creates the effect by using javascript, which I want to avoid, is there any way to get this thing to work in IE without the use of javascript? Does anyone have any suggestions or can you point me in the right direction? Muchas gracias Similar TutorialsOk, I am not a regular web developer and therefore I do not know some basic tricks of the trade. I developed my website and it looks great on FireFox - a little worse on IE8. I am not surprised, I know that CSS hacks are need to make a website look well on both FireFox and IE. However what I did not know is that different hacks are needed for different versions of IE. I have been going round the web to find some ways to hack and it seems that IE6 takes hacks can work with an underscore, IE7 hacks work with a star at the front, and IE8 hacks need a \9 at the end of a line. Rather then ask help for each particular problem I have with compatibility in these browsers (which most probably I'll finish doing all the same), I thought it would be better to learn how these hacks work, how they should be done, and how they should be managed (like a sort of strategy). Does anyone know about a good website where I can learn how to make a website look good for most of the browsers out there (maybe even Opera and Safari)? I have a drop down menu located at http://www.fieldspianos.com/new/index.php If you hover over the menu items they turn black and white when you are right on the text but not if you are in the area surrounding it which is what I also need to occur. You can view the source on the page for the html but I will include the css below. This is the basic layout of the menu: Code: <ul> <li>About Us</li> <ul> <li><a href="#">Locations</a></li> etc..etc..etc.. Here is the css: Code: /*Begin Content of drop down menu*/ a { outline:none; } * html div#dropdownmenu ul { float: left; } * { margin: 0; padding: 0; } div#dropdownmenu { float: left; background-color: #C8C6C6; font-size:11px; font-family: Verdana, Arial, Helvetica, sans-serif; } div#dropdownmenu ul li { list-style-type: none; float: left; background-color: #000000; position: relative; } div#dropdownmenu ul li:hover { list-style-type: none; background-color: #000000; } /*Hides drop downs when not overed over and reveals them when they are hovered over.*/ body div#dropdownmenu ul li ul { display: none; } body div#dropdownmenu ul li:hover ul { display: block; } div#dropdownmenu ul li ul { margin: 0; width: 13em; position: absolute; left: -1px; } div#dropdownmenu ul li ul li { width: 100%; background-color:#bdb35e; color: #660000; border-bottom: 1px solid #000; border-left: 1px solid #000; border-right: 1px solid #000; padding: 3px; } div#dropdownmenu ul li ul li:first-child { border-top: 1px solid #000; } div#dropdownmenu ul li ul li:hover { color: #FFFFFF; background-color: #000000; } div#dropdownmenu ul li ul li a { color: #660000; text-decoration:none; outline: none; } div#dropdownmenu ul li ul li a:hover { color: #FFFFFF; background-color: #000000; text-decoration:none; outline: none; } div#dropdownmenu ul li:hover ul, div#dropdownmenu ul li ul:hover { display: block; } Any help is greatly appreciated, this seems like it would be a simple fix but I can't figure it out. Maybe I am overlooking some small detail. Thanks! i have 2 divs div1 and div2 there is an image in div2 and there is a link in div1, by default the image in div2 is hidden and i have used #div2 img{ visibility: hidden; // also i tried display: none; } when i move the mouse over the link in div1 i want the image in div2 to appear following is my code #div1 a:hover #div2 img1{ visibility: hidden; or display: none; } the image in div2 is not appearing without using javascript or jquery can this simple effect be done by using css code can someone tell me the correct syntax to show the image please advice. thanks I know this has been discussed loads. And I have read a tonne of articles telling people it cannot be done in pure CSS. But I wanted a little clarification. I want a hover: over a <tr>. Now Im not fussed if it doesn't work in IE5/6 even 7 (although obviously it would be nice!) its a little feature to help users. My app is internal, so as long as the CSS doesn't break the page, then IE users just wont get the hover, while others will. This is what I have: .result_lines{ background-color:#EAEAEA; } .result_lines tr:hover{ background-color:#666666; color:#FFFFFF; } Now, having not done this, I wasn't even sure if the order of my syntax was correct, so a little direction would be perfect. Note: I don't want to use JS. Hi guys, Was wondering if you could tell me where I'm going wrong with this. Basically I have used the class "WhiteBoldLinks" on some text BUT when the mouse goes over the link I cant get the underline and text colour to work which is assigned to the class "#WhiteBoldLinks a:hover" . How do I use this? Or have I coded it wrong? PHP Code: .WhiteBoldLinks { font-family: Arial, Helvetica, sans-serif; font-size: 13px; font-weight: bold; color: #FFFFFF; text-decoration: none; } #WhiteBoldLinks a:hover { text-decoration: underline; color: #FF0000; } hey there i was wondering why on hover the .indexThumbDiv dosnt display as a block in IE6 but in IE7 and firefox it does. head: PHP Code: .indexThumbDiv{display:none;} a.indexThumbA:hover .indexThumbDiv{display:block;} body: PHP Code: <a class="indexThumbA" href="link"> span class="indexThumbDiv"></span> <img src="link" width="120" height="120" border="0" style="vertical-align:bottom"/> </a> Thanks for taking the time to read my question. This works in FF but not IE6. What do I need to change to make it work I have borders around my images which are links and I want the border color to change on hover HTML Code: <a href="LisaClarkDesigns_About.htm"><img class="ImgNav" src="images/AboutNav.gif" alt="Click here to navigate to the About Lisa Clark Designs page." /></a> CSS for container Code: img.ImgNav { border: 1px solid #999999; padding: 0px; margin: 0px 10px 0px 10px; width: 52px; } CSS for hover Code: <a href="LisaClarkDesigns_About.htm"><img class="ImgNav" src="images/AboutNav.gif" alt="Click here to navigate to the About Lisa Clark Designs page." /></a> <a href="LisaClarkDesigns_Portfolio.htm"><img class="ImgNav" src="images/PortfolioNav.gif" alt="Click here to navigate to the Lisa Clark Designs Portfolio page." /></a> <a href="LisaClarkDesigns_Fees.htm"><img class="ImgNav" src="images/FeesNav.gif" alt="Click here to navigate to the Lisa Clark Designs Fees page." /></a> <a href="LisaClarkDesigns_Contact.htm"><img class="ImgNav" src="images/AboutNav.gif" alt="Click here to navigate to the Lisa Clark Designs Contact page." /></a> Thanks, Brad I have two images, A and B. When I hover over image A, B appears over A, where B is at 25% opacity. If I wanted to make B appear after A, I would use this: Code: .imageA:hover:after{ content: url("images/imageB.jpg"); } or before.. Code: .imageA:hover:before{ content: url("images/imageB.jpg"); } How do I make B appear on top of A or underneath it? Thanks, Andy Hi there, I would like for the background of a text link to change colour when the mouse hovers over the text... no problem a:hover {background:#72b83c} However I would like to STOP the background of an image doing the same thing.... this I am having trouble with. I've tried a:hover img {background:none} a:hover img {background:none!important} But it doesn't seem to work (the background still changes behind the image (showing the colour around the left and bottom of the image). Can anyone offer any suggestions? Paul I have the following css Code: #navigation li { display: inline; background: url(Images/greenbg.gif) repeat-x center top; text-align: center; padding: 0; margin-right: 4px; float: left; } for the following html Code: <div id="navigation"> <ul> <li><a href=""><span>Menu1</span></a></li> <li><a href=""><span>Menu2</span></a></li> <li><a href=""><span>Menu3</span></a></li> <li><a href=""><span>Menu4</span></a></li> <li><a href=""><span>Menu5</span></a></li> </ul> </div> <br style="clear: both" /> and I can't figure out how to get the background to change when I hover. Anyone have any ideas? I tried this to no avail Code: #navigation a:hover li { display: inline; background: url(Images/greenbghover.gif) repeat-x center top; text-align: center; padding: 0; margin-right: 4px; float: left; } I know that td:hover isn't supported by all browsers but it is displaying some quirky behavior: Code: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>My site</title> <style type="text/css"> #level0 table { border-spacing: 0; border-collapse: collapse; } /* end #level0 table */ #level0 table td { padding: 0; } #level0 #links_table { text-align: right; border-top: 1px solid #f1f1f1; border-bottom: 1px solid #f1f1f1; height: 242px; width: 265px; } /* end #level0 #links_table */ #level0 #links_table td { border-top: 1px solid #f1f1f1; border-right: 1px solid #000000; border-bottom: 1px solid #f1f1f1; } /* end #level0 #links_table td */ #level0 #links_table td:hover { border: 1px solid #000000; border-right: 0; } /* end #level0 #links_table td:hover */ #level0 #links_table a { padding-right: 1em; } #level0 #rotating_image img { vertical-align: top; border: 1px solid #000000; border-left: 0; } /* end #level0 #rotating_image */ </style> </head> <body> <div id="level0"> <table id="main_table"> <tr> <td> <table id="links_table"> <tr><td><a href="#">Link 1</a></td></tr> <tr><td><a href="#">Link 2</a></td></tr> <tr><td><a href="#">Link 3</a></td></tr> <tr><td><a href="#">Link 4</a></td></tr> <tr><td><a href="#">Link 5</a></td></tr> <tr><td><a href="#">Link 6</a></td></tr> <tr><td><a href="#">Link 7</a></td></tr> <tr><td><a href="#">Link 8</a></td></tr> </table> </td> <td id="rotating_image"><img src="my_image.gif" alt=""></td> </tr> </table> </div> </body> </html> When I hover over the first cell, the top and bottom borders turns black but not the left, and all the right borders disappear. When I hover over the other cells, only the bottom border turns black. What I am trying to accomplish is when a table cell is moused over, the top, bottom, and left border of that cell turns from gray to black and the right border which is currently black turns white. Hi, I have found a nice feature on this website; click here When you mouse over grey - orange images another div comes out. What this is called? Is there any example code that I can work on? Thanks. I don't know is it done before or not but i made it ,, i got rid of the onmouseover:crab tags but i think if you announce it as harmless I have use it again because I'll to write three times more code to get what i want with that hover thing. both functional in ie and ff css Code: .ortadiv:link {background-color:#EFEFEF;} * html .ortadiv {background-color:#EFEFEF;} /*hack*/ .ortadiv:hover {background-color:white; cursor:default} html -(my code looks like that) Code: <a class="ortadiv" href="#"><span><h5></h5></span></a> (it doesn't validates !) my main concern is about my headers , because when i use my css-hack-hover they becomes links with "#" . Is it affects search-engine things ? edit: I decided to not to use it because of my validating concerns I want to change the color of an <a> when a list element is hovered over, using CSS. Is this possible? Or do I need to resort to Javascript? Code: <style> a { color: red; } #menu ul li:hover { background: red; color: white; } </style> <div id="menu"> <ul> <li><a href="home.html">Home</li> </ul> I can do a change to: #menu ul li:hover, #menu ul a:hover { background: red; color: white; } but the anchor won't change color on the li:hover, so it looks red on red. Hello: I would like to have a big font size of title on my web site for search engine optimuzation purpose, I wrap the title with a H1, then I define H1 in css as FONT-WEIGHT: bold; FONT-SIZE: 34px; COLOR: #000000; in other place I also have A:hover {COLOR: #6460AD; TEXT-DECORATION: underline; the title I put in is a hyper link, so when the mouse hovers on the title, the title shown as underlined, I want it to be TEXT-DECORATION: none I don't know the syntax in H1 definetion to disable the underline http://www.knowledge2work.com/testing/test.htm is a link to a menu that I have created. Essentially what I want to happen is that the mouseover on the submenu changes the background color and the text color as well. I have done this using td:hover and ids and it works just fine in Firefox but not at all in IE. Why is this? http://geoffreyrickaby.com/df-test/ i have a <div class="current-link"> setup on the home link because it's the current page being viewed, however when you scroll over it the red line over it gets brighter because my hover places that image there. How can i fix it so that a current link, and my sub menu when scrolled over don't display the hover? I'm almost thinking its a if then statement, but i am probably wrong. Any suggestions? How do you fix this hover problem http://www.svprosquad.com/test.htm It's the top nav that's the problem that's the one that is done using CSS. Greetings! I seem to have some problems with the hover pseudo-class in IE6. I have tried many combinations but cannot get the color to change on a hover. The other attributes seem to work ok, such as background color, cursor, etc. When I place the COLOR attribute in, IE6 just seems to ignore it. here are the significant snippets of the CSS: This is at the very top of the CSS external..note that the color that is desired on hover is #0000FF or blue: Code: A:link {color: #FFFF00; text-decoration: none} A:visited {color: #FFBF00; text-decoration: none} A:hover {color: #0000FF; text-decoration: none} A:active {color: #C0FFC0; text-decoration: none} I am using relative positioning for my "menu" elements, so I created a CSS block for each item that results in the following: Code: #home, a { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: medium; font-style: italic; font-weight: bold; color: #CC0000; position: relative; top: -200px; left: -390px; text-decoration: none; } #aboutus, a { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: medium; font-style: italic; font-weight: bold; color: #CC0000; position: relative; top: -170px; left: -460px; text-decoration: none; } #services, a { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: medium; font-style: italic; font-weight: bold; color: #CC0000; position: relative; top: -140px; left: -553px; text-decoration: none; } #faqs, a { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: medium; font-style: italic; font-weight: bold; color: #CC0000; position: relative; top: -110px; left: -682px; text-decoration: none; } #contact, a { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: medium; font-style: italic; font-weight: bold; color: #CC0000; position: relative; top: -97px; left: 170px; text-decoration: none; } As can be seen the base color or starting color of the menu item is #CC0000 (red). The actual HTML is very simple: Code: <a id="home" href="index3.html">Home</a> <a id="aboutus" href="aboutus.htm">About Us</a> <a id="services" href="services.htm">Our Services</a> <a id="faqs" href="faqs.htm">Questions</a> <a id="contact" href="contactus.htm">Contact Us</a> What now happens, is that each menu item displays in RED, but when you hover over it, the text does not change color to the BLUE that I want. It just remains RED. Yet, when I add an attribute such as "background-color: green" to that HOVER directive, it works fine, it just wont change the text. Is this one of those Microsoft IE problems, or am I doing something wrong?? Thanks, in advance for your help! Kork Thanks for taking the time to read my question. I am having problems with hover on my menu. Just before you mouse over the next button, the previous one lights up. I really don't know why. See: #MenuItemTop and #MenuItem I've attached my html, and my css. I have no where to post it. Thanks again. Brad |