Alpha-Filter im IE greift nicht
Mel
- css
hi forum,
ich bin grade wirklich blockiert.
folgendes steht im css:
div.tooltip1 div.inside {
padding: 2px 6px;
background: red;
filter: progid:DXImageTransform.Microsoft.Alpha(opacity = 86);
}
und das im html
<div class="tooltip1">
<div class="inside">
<p class="tool1"><strong>info:</strong><br />
bla blubb bla blubb.</p>
</div>
</div>
Damit möchte ich eigentlch nur erreichen dass der container etwas durchscheinend wird. das oben angegeben css bezieht sich natürlich nur auf den IE, die anderen browser kriegen ein transparentes png-Hintergrundbild.
aber: es funktionier nicht. ich gebe die Hintergrundfarbe an und der filter bewirkt keine Transparenz.
Hab ich da jetzt irgendwo einen Denk- oder Schreibfehler drin? Gibt es sonst irgendwelche Faktoren welche verhindern dass der Filter wirksam wird?
ratlose grüsse melanie
Hallo,
Das div muss "HasLayout" haben, damit der Filter auf ihn angewandt werden kann. Versuche mal, ob es Dein Problem löst, wenn Du für den IE ein
height:1%;
einfügst.
netten Tag
^da Powl
das div muss "HasLayout" haben, damit der Filter auf ihn angewandt werden kann. Versuche mal, ob es Dein Problem löst, wenn Du für den IE ein
height:1%;
einfügst.
du hast mich sehr glücklich gemacht ;)
merci, melanie
hi,
so das eine problem ist gelöst dafür wurde eine neues geschaffen.
ich kann das einfach kaum glauben.
ich habe einen absolute positionierten container. dieser bekommt hash-layout und schon - schwupps- nimmt eine eine Breite an, die mir völlig unerklärlich ist. warum nur?? Ich bin bis jetzt davon ausgegangen dass sich absolut positionierte Elemente in der Breite nach dem enhaltenen Inhalt (Text halb z.B.) richten. Wie es vernünftige Browser halt auch tun.
Der IE allerdings macht das nicht. und auch wenn ein absolut positioniertes Element andere Container enthält welche eine Höhe zugewiesen bekommen haben, verhält er sich so ärgerlich. Er geht auf 100% Breite.
Kann man das irgendwie unterbinden?
Ich möchte dem umgebenden div einfach keine feste Breite geben da ich nicht weiss wie breit die Inhalt jeweils sind. Ich werde noch wahnsinnig.
erschöpfte Grüsse melanie
Hi,
ich habe einen absolute positionierten container. dieser bekommt hash-layout
hasLayout, auf Deutsch "besitzt Layout". Die hasLayout-Eigenschaft wird übrigens bereits durch die absolute Positionierung getriggert.
und schon - schwupps- nimmt eine eine Breite an, die mir völlig unerklärlich ist. warum nur??
Keine Ahnung. Welche Breite bekommt er, welche hast Du erwartet, was hast Du für Angaben gemacht und - vor allem - _warum_ hast Du aufgrund dieser Angaben jene Breite erwartet?
Ich bin bis jetzt davon ausgegangen dass sich absolut positionierte Elemente in der Breite nach dem enhaltenen Inhalt (Text halb z.B.) richten. Wie es vernünftige Browser halt auch tun.
Ja, auch unvernünftige Browser wie z.B. der IE tun das üblicherweise.
Der IE allerdings macht das nicht. und auch wenn ein absolut positioniertes Element andere Container enthält welche eine Höhe zugewiesen bekommen haben, verhält er sich so ärgerlich. Er geht auf 100% Breite.
Welche Breite haben denn diese enthaltenen Elemente?
Ich werde noch wahnsinnig.
Wer weiß, vielleicht bist Du es schon und hast es nur nicht gemerkt, weil das im Wahn nicht mehr möglich ist ...? ;-)
Cheatah
hi,
hasLayout, auf Deutsch "besitzt Layout". Die hasLayout-Eigenschaft wird übrigens bereits durch die absolute Positionierung getriggert.
ich weiss nicht was getriggert bedeutet...
Keine Ahnung. Welche Breite bekommt er, welche hast Du erwartet, was hast Du für Angaben gemacht und - vor allem - _warum_ hast Du aufgrund dieser Angaben jene Breite erwartet?
also der container ist absolut positiniert, sagen wir 300px von oben und 400px von rechts. durch die Höhe von 1% wird er breiter als der enthaltene Inhalt. Will sagen er geht auf 100% breite und passt sich dem verbliebenen Platz an den das Browserfenster ihm lässt. wenn ich also das fenster verkleinere verkleinert sich der container mit.
Ich bin bis jetzt davon ausgegangen dass sich absolut positionierte Elemente in der Breite nach dem enhaltenen Inhalt (Text halb z.B.) richten. Wie es vernünftige Browser halt auch tun.
Ja, auch unvernünftige Browser wie z.B. der IE tun das üblicherweise.
ja üblicherweise. aber nicth wenn ich dem äussersten Container hashLayout gebe ODER enhaltene Container eine höhe von z.b. 4px.
es ist das erste Mal dass ich auf dieses Verhalten stosse.
Welche Breite haben denn diese enthaltenen Elemente?
gar keine. bzw. habe ich keinem der Elemente eine Breite zugewiesen.
Wer weiß, vielleicht bist Du es schon und hast es nur nicht gemerkt, weil das im Wahn nicht mehr möglich ist ...? ;-)
das ist gut möglich. normalerweise ist der IE für mich eine spannende Herausforderung. Ich war noch nie so gereizt wie jetzt...;(
soll ich mal ein Beispiel online stellen?
vg melanie
stopp--kleine korrektur.
also folgendes phänomen tritt bei mir auf:
1. absolute positionierter Container, der weder durch breite noch durch höhe definiert ist.
2. dieser Container enhält (Block-)Elemente. Sobald eines davon eine Höhe zugewiesen bekommen hat (keine Breite!) hört der umgebende Container auf, sich in seiner Breite nach dem sich enthaltenen Inhalt zu richten, sondern geht auf 100% Breite bzw. passt sich in seiner Breite am Rest des Browserfensters an.
vg melanie
Hallo Mel,
filter: progid:DXImageTransform.Microsoft.Alpha(opacity = 86);
filter:Alpha() ist ausreichend.
Den ImageTransformer würdest du für die png Darstellung im IE benötigen. Aber beides zusammen ist verkehrt.
Grüße,
Jochen
hallo,
filter:Alpha() ist ausreichend.
Den ImageTransformer würdest du für die png Darstellung im IE benötigen. Aber beides zusammen ist verkehrt.
danke für den hinweis du hast natürlich recht. ich habe es geändert!
vg melanie