Browserweiche für IE7 (StarPlusHTML)

  • hallo,

    leider sind die im Web auffindbaren Beschreibungen zum star plus html hack nur sehr kurz und erklären beispielsweise das Funktionsprinziep nicht wirklich. folgende Styles funktionieren nicht. Aber warum?

    Auch zeilen wie *:first-child+html ul#Partner a oder a:first-child+html #Partner gehen nicht. Was muss ich machen, damit padding vom ul#Partner a im IE7 anders ist als in den übrigen Browsern?

  • 1.
    Der Star-Html-Hack funktioniert so, indem de das Element in CSS nochmal wiederholst und *+html voranstellst, dann die eigenschaft definierst, die der IE7 abweichend benötigt.

    Beispiel:

    Code
    #container {width: 500px;}
    *+html #container {width: 400px;}


    Damit wird der #container im IE7 mit 400px Breite dargestellt, in anderen Browsern mit 500px.

    2.
    Du brauchst diesen Hack vermutlich überhaupt nicht.
    Ich vermute vielmehr, dass du keinen qualifizierten Doctype verwendest und der IE sich deshalb im Quriksmode befindet. Somit kann er das Boxmodell nicht richtig darstellen.

    Falss die Seite online ist, schicke ggf. mal einen Link.

  • Zitat

    *+html #container {width: 400px;}


    Schon klar. Das findet man auch auf Seiten wie z.B. selfhtml.org, aber wie muss man schreiben für mein Beispiel:

    Code
    ul#container a

    ?

    Der HTML-Code dazu:

    Code
    <ul id="container">
    [*][url='example1.htm']Seite1[/url]
    [*][url='example2.htm']Seite2[/url]
    [/list]

    Hier soll nicht die ul #container von der IE7-Regelung betroffen sein, sondern das HTML-Element <a> das sich innerhalb des #container befindet. Da komme ich mit *+html #container nicht weit. Logisch, oder?

    Nur wie ist die richtige Syntax? Oder geht der star html hack nur mit dem container, der als oberstes in der Element-Hierachie ist? Dann wäre das ja recht lau. Habs spasseshalber mal mit class="container" probiert, angewendet auf besagtes oberstes Element. Geht auch nicht. Entspricht jedenfalls nicht der mir sonst vertrauten CSS-Logik.

    Zitat

    Ich vermute vielmehr, dass du keinen qualifizierten Doctype verwendest


    Doch! Habe folgende erste Zeile im Dokument:

    Code
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  • Zitat

    *+html ul#Partner a{...}


    Stimmt, damit geht's. Danke!

    Hab gedacht die Pseudoklasse first-child muss zwingend angegeben sein. So jedenfalls ging das aus den ganzen Dokus hervor, die ich gefunden hatte.

    Zitat

    und für den IE6 das gleiche nochmal ohne "+"


    Kann man denn sicher sein, dass IE6 und IE7 die selben Darstellungsprobleme haben? Hab nämlich keinen IE6 mehr zum testen.

    Bei der Gelegenheit: kann man IE6 und IE7 zusammen auf ein XP-Sys installieren?

  • Der IE 6 hat weitaus mehr Darstellungsfehler als der IE 7.
    Aber um sicher zu gehen, müsstest du dir das anschauen.
    Leider gehen zwei IE-Versionen nicht auf dem gleichen Windows-Betriebssystem.
    Entweder du benutzt einen "Virtual PC" oder spielst die andere IE-Version auf eine separate Festplattenpartition.
    Es gibt auch Online-Tools, wo man sich die Seite in unterschiedlichen Browsern anzeigen lassen kann. Hab ich jetzt aber gerade keinen Link parat.

  • Hi sejuma,

    Zitat von sejuma


    Leider gehen zwei IE-Versionen nicht auf dem gleichen Windows-Betriebssystem.
    Entweder du benutzt einen "Virtual PC" oder spielst die andere IE-Version auf eine separate Festplattenpartition.

    ähem..., aber da gibts doch eine ganz einfache Software mit der man IE-Versionen parallel installieren kann (unter XP, bei Vista gehts nicht so einfach).
    Voraussetzung ist wahrscheinlich auch, das du den IE7 schon installiert hast.

    Guckst du hier:Multiple IE.

    Funktioniert ohne Probleme.

    koslowski[/url]

  • Hi sejuma,

    Zitat von sejuma

    Ja kenn ich. Aber ich habe den IE7 unter Vista und da soll das wohl nicht funktionieren.
    Und wenn du für meine Konstellation eine simple Lösung hättest (z.B. im Sinne von Multitasking), dann bist du mein Held!

    stimmt, unter Vista funktioniert das leider nicht.
    Auch ein Grund warum ich die Finger von Vista lasse.

    Ich tät dir ja gerne helfen, aber bei Vista gehts nur umständlich mit "Virtuell PC".
    Genaueres habe ich nicht in petto.

    koslowski

  • Zitat

    Das ist ja mal ein sehr guter Tipp. Danke!

    Hab mal meine Seite getestet. Alles super, würd ich sagen. Wenn ich mir aber ansehe wie das Layout im IE aussieht, da kommt mir ja glatt das Grauen. Auf dem IE7 ist es ok. Den konnte ich ja auch zum Testen benutzen, weil meine Frau Win XP hat. Alle anderen IE's versauen aber das Layout (grummel). Und der neue IE8 hat wieder mehrere neue Darstellungsfehler. Will MS uns ärgern? Kann doch net sein das der IE8 wieder schlechter ist (wobei ich da erstmal meine Styles checken sollte, liegt eventuell bloss an der Browserweiche). Aber neven tut das echt.