Fehler in Opera?
Ralf
- css
Hallo,
ich habe folgende CSS-Definition, um beim Überfahren eines Links die Hintergrundbilder auszutauschen:
#edruck a {
width:179px;
height:279px;
background-image:url(edruck1k.gif);
background-repeat:no-repeat;
display:block;
text-decoration:none;
}
#edruck a:hover {
background-image:url(edruck2k.gif);
}
Und im Text steht:
<div id=edruck>
<a href="#"></a>
</div>
Funktioniert tadellos - nur der Opera (9.2) zeigt mir nach dem Laden kein Bild an. Beim Überfahren mit der Maus wird korrekt das zweite Bild angezeigt und wenn die Maus wieder vom Bild entfernt wird, zeigt sich das erste. Aber eben nicht von Anfang an.
Macke in Opera oder kann ich das was ändern?
Ralf
<div id=edruck>
<a href="#"></a>
</div>
> Funktioniert tadellos - nur der Opera (9.2) zeigt mir nach dem Laden kein Bild an.
Vom Gefühl her würde ich sagen, dass sich Opera für das leere a-Element nicht interessiert. Fülle das Element mit irgendetwas, beispielsweise so
`<a href="#"> </a>`{:.language-html}
Ich bin gespannt, ob das funktioniert.
Roland
--
,--./,-.
/ \
| [Switch](http://skop.net/self/iMac-1.jpg) |
\ /
`.\_,.\_,'
Vom Gefühl her würde ich sagen, dass sich Opera für das leere a-Element nicht interessiert. Fülle das Element mit irgendetwas, beispielsweise so
<a href="#"> </a>
Ich bin gespannt, ob das funktioniert.
Hat leider nichts gebracht. Opera zeigt das Ausgangsbild nach wie vor erst an, wenn die Maus wieder aus dem Bereich weggezogen wird.
Ich habe zum ersten Selektor mal background-color hinzugefügt. Das zeigt Opera korrekt an - das Bild dagegen nicht.
Ralf
Hi Ralf!
Hat leider nichts gebracht. Opera zeigt das Ausgangsbild nach wie vor erst an, wenn die Maus wieder aus dem Bereich weggezogen wird.
Ich habe zum ersten Selektor mal background-color hinzugefügt. Das zeigt Opera korrekt an - das Bild dagegen nicht.
Und wenn du mal aus den 2 GIFs eins machst und dann mit der background-position arbeitest (zumindest mal testhalber)?
Gruß Gunther
Hallo Gunther,
Und wenn du mal aus den 2 GIFs eins machst und dann mit der background-position arbeitest (zumindest mal testhalber)?
Interessante Idee, die ich gleich mal ausprobiert habe (nicht nur wegen des Fehlers, sondern weil ich das grundsätzlich für eine interessante Alternative halte).
Bringt aber leider keine Änderung. Wobei ich zunächst den Verdacht hatte, dass es an meiner nachträglichen Manipulation des DOM per Javascript lag (alle Kindelemente des BODY auf display:none und dann nachträglich ein inneres Element per appendChild() an den BODY gehängt).
Ohne diese Manipulation funktionierte es zwar auch im Opera, aber dann habe ich zwei weitere gleichartige Gruppen eingefügt und immer die letzte auf der Seite hat diesen Fehler.
Nun bin ich mir ziemlich sicher, dass es eine Macke im Opera ist. Als Umgehung werde ich einfach eine zusätzliche Gruppe mit display:none einfügen.
Ralf
Und wenn du mal aus den 2 GIFs eins machst und dann mit der background-position arbeitest (zumindest mal testhalber)?
Interessante Idee, die ich gleich mal ausprobiert habe (nicht nur wegen des Fehlers, sondern weil ich das grundsätzlich für eine interessante Alternative halte).
Den Trick, die Hintergrundgrafik bei hover zu verschieben nutzen wir im Weblog bei der Fanshop-Grafik. Das spart einen zweiten Request und damit Traffic und Ladezeit.
Wobei ich zunächst den Verdacht hatte, dass es an meiner nachträglichen Manipulation des DOM per Javascript lag (alle Kindelemente des BODY auf display:none und dann nachträglich ein inneres Element per appendChild() an den BODY gehängt).
Opera lädt Bilder, die sich in mittels display:none
versteckten Bereichen befinden erst, wenn diese sichtbar werden. Möglicherweise stolpert er dabei über deine DOM-Manipulation. Kannst du ein auf das Wesentliche reduziertes Beispiel hochladen? Dann wäre bei einem echten Fehler eine Bug-Meldung möglich.
Roland
Opera lädt Bilder, die sich in mittels
display:none
versteckten Bereichen befinden erst, wenn diese sichtbar werden. Möglicherweise stolpert er dabei über deine DOM-Manipulation. Kannst du ein auf das Wesentliche reduziertes Beispiel hochladen? Dann wäre bei einem echten Fehler eine Bug-Meldung möglich.
Aktuell habe ich den Fehler nicht einmal mehr. Auch nicht mit eingeschalteter DOM-Manipulation. Sehr merkwürdig.
Es passierte auch nur, wenn sich die Hintergrundgrafik im anfangs sichtbaren Bereich der Seite befand. Musste man scrollen oder die Größe der Seite verändern, war die Grafik sofort da. Auch eine zunächst unsichtbare Grafik konnte durch eine Größenänderung der Seite sichtbar gemacht werden (es musste neu gerendert werden).
Schaut also sehr nach einem Fehler auf, aber durch irgendeine Änderung im Layout tritt er jetzt nicht mehr auf.
Sollte er sich wieder zeigen, werde ich versuchen, ihn festzunageln.
Ralf