Transparenz bzw. Background von UL, LI, A im IE8
Ronald
- browser
Hallo,
habe folgendes Problem. Habe eine Ul mit Listenelementen und Links versehen.
Die Links, also A-Tag, sind ohne Hintergrundbild oder Farbe definiert. Erst beim :hover, wird ein Bild ausgetauscht. Klappt im FF wunderbar, im IE8 aber nicht. Der zeigt mir konsequent einen weissen Hintergrund. Habe es jetzt schon mit background: none sowie background-color:none versucht. Immer das gleiche Ergebnis. Auch ein transparentes GIF als BG-Image bringt nichts.
Ich habe dann im IE einmal in den "Entwicklertools" nachgeschaut und festgestellt, das der IE meine Styleanweisungen nicht exakt so wiedergibt, wie ich sie definiert habe. Aus padding: 0 10px 5px 25px; macht er ein padding-top: etc.
Auch aus der Anweisung background: none; wird im Entwicklertool ein background:none transparent scroll repeat 0% 0%
Seltsam!!!!!!!!!!
Komischerweise wird alles korrekt dargestellt, wenn der Browser startet und diesen Warnhinweis gibt: Das Ausführen von Scripts....
Gibt man sein Okay zu den Scripten, kommt es zu dem oben beschriebenen Problem, dass IE8 einfach weiss darstellt, was eigentlich transparent bzw. gar keinen HG sein/haben sollte.
Zu betrachten unter: http://www.ronald-pottkaemper.de/caritas/index.html
Wäre für einen Rat dankbar.
Grüße
Ronald
Om nah hoo pez nyeetz, Ronald!
Ich habe dann im IE einmal in den "Entwicklertools" nachgeschaut und festgestellt, das der IE meine Styleanweisungen nicht exakt so wiedergibt, wie ich sie definiert habe. Aus padding: 0 10px 5px 25px; macht er ein padding-top: etc. Auch aus der Anweisung background: none; wird im Entwicklertool ein background:none transparent scroll repeat 0% 0%
Seltsam!!!!!!!!!!
Das ist korrekt, denn die Angabe padding: 0 10px 5px 25px; bedeutet padding-top: 0; padding-right: 10px; ...
Gleiches gilt für background. Background ist eine Zusammenfassung mehrerer Deklarationen (image, bg-color, scroll-verhalten, wiederholungsverhalten, position des bg-bildes) wenn nichts angegeben ist, werden die Default-Werte verwendet.
Komischerweise wird alles korrekt dargestellt, wenn der Browser startet und diesen Warnhinweis gibt: Das Ausführen von Scripts.... Gibt man sein Okay zu den Scripten, kommt es zu dem oben beschriebenen Problem, dass IE8 einfach weiss darstellt, was eigentlich transparent bzw. gar keinen HG sein/haben sollte.
Dann sollte auch ein Skript das Problem sein.
Matthias
Das ist korrekt, denn die Angabe padding: 0 10px 5px 25px; bedeutet padding-top: 0; padding-right: 10px; ...
Das mag ja stimmen, aber wenn ich nicht irre, ist die erste Schreibweise genauso korrekt wie die zweite. Warum wird also vom Entwicklertool umgeschrieben?
Gleiches gilt für background. Background ist eine Zusammenfassung mehrerer Deklarationen (image, bg-color, scroll-verhalten, wiederholungsverhalten, position des bg-bildes) wenn nichts angegeben ist, werden die Default-Werte verwendet.
Auch gut, aber es steht wie gesagt nicht in meinen Style-Anweisungen! Gleiche Frage wie oben.
Dann sollte auch ein Skript das Problem sein.
Das Script steuert aber definitv nicht das Aussehen der UL und Ihrer Unterelemente, sondern ausschließlich das CSS.
Gruß
Ronald
Das mag ja stimmen, aber wenn ich nicht irre, ist die erste Schreibweise genauso korrekt wie die zweite. Warum wird also vom Entwicklertool umgeschrieben?
Wird es nicht. Das Entwicklertool holt sich die entsprechenden Werte über die .currentStyle-Eigenschaft des IEs (bei anderen Browsern gibt es dazu die Methode getComputedStyle). Dort sind aber nur die präzisen Werte und nicht die Abkürzungen (die natürlich weiterhin valide sind) gespeichert.
Das liegt daran, dass diese Eigenschaften und Methoden auf das Ergebnis des jeweiligen CSS-Parsers zurückgreifen und das sind nun einmal nicht die Eingabedaten aus inline-Styles und CSS, sondern das Ergebnis dieser Eingaben. Nebenbei: In manchen Browsern werden #rrggbb-Farben sogar in das rgb(r, g, b)-Format übersetzt.
Gruß, LX
Wird es nicht. Das Entwicklertool holt sich die entsprechenden Werte über die .currentStyle-Eigenschaft des IEs (bei anderen Browsern gibt es dazu die Methode getComputedStyle). Dort sind aber nur die präzisen Werte und nicht die Abkürzungen (die natürlich weiterhin valide sind) gespeichert.
Das liegt daran, dass diese Eigenschaften und Methoden auf das Ergebnis des jeweiligen CSS-Parsers zurückgreifen und das sind nun einmal nicht die Eingabedaten aus inline-Styles und CSS, sondern das Ergebnis dieser Eingaben. Nebenbei: In manchen Browsern werden #rrggbb-Farben sogar in das rgb(r, g, b)-Format übersetzt.
Wenn ich Dich richtig verstehe, bedeutet das, das das Entwicklertool alle Werte, die ich nicht explizit angebe mit den .currentStyle-Eigenschaft des IEs "vermengt"?
Gruß
Ronald
Om nah hoo pez nyeetz, Ronald!
Wenn ich Dich richtig verstehe, bedeutet das, das das Entwicklertool alle Werte, die ich nicht explizit angebe mit den .currentStyle-Eigenschaft des IEs "vermengt"?
Der Browser auch. Nur dass er dir das nicht explizit sagt sondern nur zeigt.
Matthias
Om nah hoo pez nyeetz, Ronald!
Auch gut, aber es steht wie gesagt nicht in meinen Style-Anweisungen! Gleiche Frage wie oben.
Doch, denn wenn du nichts vorgibst, werden die default-Werte verwendet. Und es gut zu wissen, welche das sind.
Dann sollte auch ein Skript das Problem sein. Das Script steuert aber definitv nicht das Aussehen der UL und Ihrer Unterelemente, sondern ausschließlich das CSS.
Dieser Satz ist missverständlich.
Versuche, dein Problem auf das Wesentliche zu reduzieren.
Der Quelltext sieht mir stark nach wysiwyng-Editor ala DV oder MS-FP aus.
Matthias
Versuche, dein Problem auf das Wesentliche zu reduzieren.
Das Wesentliche ist, das der IE8 sowie IE6 Elemente weiss darstellen, obwohl nichts dergleichen angegeben ist.
Müsste ich für den IE alle Werte die in irgendeiner Form den BG beeinflussen auf "NULL" setzen?
Der Quelltext sieht mir stark nach wysiwyng-Editor ala DW.
Stimmt
Ronald
Das hatte ich noch vergessen:
Wenn ich dem A-Tag eine HG-Farbe oder Bild zuweise funzt es.
Grüße
Ronald