Marco: CSS-Hacks für den IE

Hey!

Ich experimentiere gerade mit den verschiedensten CSS-Hacks, um einzelne Versionen des IE anzusprechen (habs auch schon mit Conditional Comments versucht, gefällt mir aber nicht so).

Jetzt ist das Problem, dass ich für ein HTML-Tag zwei verschiedene Weichen haben möchte, nämlich so:

  
/* -- IE <= 6 -- */  
* html h1 {  
background: none;  
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='./images/layout/sym1.png', sizingMethod='crop');  
}  
  
/* -- IE < 5.5 -- */  
* html h1 {  
padding-left: 0;  
}  

Sinn der Übung ist es, ein transparentes Png-Bild als Hintergrund einer H1-Überschrift einzurichten, die Überschrift mit padding einzurücken, damit sie nicht über dem Bild liegt. Der IE6 + 5.5 benötigen dafür den AlphaImageLoader, den der IE5 aber noch nicht kennt, weshalb dieser nicht per padding eingerückt werden soll. Ich hoffe, ich habe das einigermaßen verständlich erklärt.

Das Problem ist, dass jetzt alle IEs das padding-left: 0; ausführen. Ebenso verhalten sie sich bei ähnlichen Hacks, wenn mehrere davon aufeinander folgen.

Weiß irgendjemand Rat?

Danke und Gruß,
Marco

PS: Muss man die Hacks eigentlich auch wieder schließen?

  1. Hi,

    Der IE6 + 5.5 benötigen dafür den AlphaImageLoader, den der IE5 aber noch nicht kennt, weshalb dieser nicht per padding eingerückt werden soll.

    IE 5.0 kommt im Gegensatz zu seiner Brut^W^Wseinen Nachfahren mit "property/**/: value;" nicht klar.

    PS: Muss man die Hacks eigentlich auch wieder schließen?

    Wo hast Du denn einen geöffnet?

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Sorry, aber ich kann dir nicht folgen :/

      Womit kommt der IE5 nicht klar? Soweit ich das sehe, ist der der einzige, bei dem diese Idee (ob sie nun richtig umgesetzt wurde oder nicht), überhaupt klappt.

      Was muss ich denn tun, damit das erreicht wird, was ich oben beschrieben habe? Ich beschäftige mich noch nicht allzu lange mit solchen Hacks, aber ich habe auf anderen Seiten gelesen, dass sie so angewandt werden. Deshalb verstehe ich auch den Fehler nicht *schluchz*

      Vielen Dank für die Hilfe!

  2. Moin!

    Das Problem ist, dass jetzt alle IEs das padding-left: 0; ausführen. Ebenso verhalten sie sich bei ähnlichen Hacks, wenn mehrere davon aufeinander folgen.

    Ich empfehle, über Conditional Comments für ältere IE-Versionen (immerhin ist 7 aktuell, alles darunter ist alt) entsprechende Stylesheets einzubinden bzw. (bei nur winzigen Korrekturen) einfach eine entsprechende <style>-Insel im HTML anzusiedeln.

    Nett übrigens, dass du auch noch an IE 5 usw. denkst, aber ich glaube, den Aufwand kann man sich in den allermeisten Fällen wirklich sparen, weil der so gut wie nirgendwo mehr verwendet wird.

    - Sven Rautenberg

  3. Hello out there!

    (habs auch schon mit Conditional Comments versucht, gefällt mir aber nicht so).

    Die saubere Lösung gefällt dir nicht, stattdessen willst du mit zweifelhaften Hacks arbei^Wrummanschen?

    See ya up the road,
    Gunnar

    --
    „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)