Axel Richter: Opera-nein MSIE5.x-ja Weiche

Beitrag lesen

Hallo Mathias,

Gibt es eine reine CSS-Weiche, die Opera6 _nicht_ kennt, MSIE5.x aber kennt?

John Wilkins' »Owen Hack« mit Tantek Çeliks »Be nice to Opera«-Teil. http://www.albin.net/CSS/OwenHack.html.

Ja, den hatte ich gefunden, wußte aber nicht, wie man dem Opera beibringt, dass er das Hintergrundbild _nicht_ ändern soll, wenn man _vorher_ ihm und den Anderen gesagt hat, dass er es ändern soll ;-))

Ein Beispiel: http://home.t-online.de/home/dj5nu/fanhost/opera-bghover.html
Opera 6.05 (und 5.12) ändert den Hintergrund nicht, dafür musst du background-image:none angeben. Das ist zwar unlogisch,

Ja, ne? Das background-image:inherit; hatte ich probiert. Das wäre logisch.

Danke, jetzt geht es. Mein Problem war allerdigs noch etwas komplexer, weil ich gleichzeitig zum Hintergrundbild auch die Hintergrundfarbe ändere. Opera6 reicht auch schon das Ändern der Hintergrundfarbe (scheinbar allgemein des Hintergrundes), um das Bild zu verschlucken. Das lässt sich aber mit der selben "Logik" umgehen. Setzt man, nur für Opera6, die Hintergrundfarbe auf transparent zurück, dann ändert er sie _nicht_ . Allgemeine Opera-Logik: Das Zurücksetzen des Hintergrundes auf die Standardwerte bewirkt keine Änderung, jede Änderung bewirkt das Zurücksetzten des Hintergrundbildes auf den Sandardwert *lol*.

div.m a:link {color:#007070;}
div.m a:visited {color:#005050;}

/*Für alle, die über @media kommen*/
div.m a:hover {color:#00B0B0; font-weight:bold; background-color:#F0F0F0;}
/*Für CSS2-Browser, speziell Opera6, der bei Änderung des Hintergrundes das Hintergrundbild verschluckt.*/
html>body div.m a:hover {color:#00B0B0; font-weight:bold; background-color:transparent;}
/*Für CSS2-Browser, außer Opera6*/
head:first-child+body div.m a:hover {color:#00B0B0; font-weight:bold; background-color:#F0F0F0;}

div.m a:active {color:#C04040;}
div.m a:focus {color:#00B0B0;}

/*Ausgangszustand*/
div.m a#home {background-image:url(home.gif); background-repeat:no-repeat;}
/*Für alle, die über @media kommen*/
div.m a#home:hover {background-image:url(homehover.gif); background-repeat:no-repeat;}
/*Für CSS2-Browser, speziell Opera6, der bei Änderung des Hintergrundes das Hintergrundbild verschluckt.*/
html>body div.m a#home:hover {background-image:none;}
/*Für CSS2-Browser, außer Opera6*/
head:first-child+body div.m a#home:hover {background-image:url(homehover.gif); background-repeat:no-repeat;}

viele dankbare Grüße

Axel