jobo: Hacks für IE

Hallo,

nachdem letztlich bei den 10 Tipps für Webseitenbauer die Ansichte, wie den IE am besten behandeln (Hacks oder Conditional Comments) und wenn Hacks welche (s. Gunnars Anmerkungen) hier nochmal ein Verweis zu einem Ansatz für Hacks http://net.tutsplus.com/tutorials/html-css-techniques/quick-tip-how-to-target-ie6-ie7-and-ie8-uniquely-with-4-characters/ . Vielleicht kann Gunnar ja mal erklären, warum er lieber anders hackt?

Gruß

jobo

  1. Vielleicht kann Gunnar ja mal erklären, warum er lieber anders hackt?

    Braucht er nicht, die Lösung liegt auf der Hand: die Hacks die Gunnar in dem von dir verlinkten Post angibt sind gut getestet, bekannt und valide.

    Die in dem von dir verlinkten Artikel sind syntaktisch fehlerhaft, also invalide.

    Ich sehe keinen plausiblen Grund, warum man die invalide Lösung vorziehen sollte (sofern die Funktion dieselbe ist).

  2. Der * html- und *+html-Hack sind insoweit sicher, als dass nur Browser, die zufällig die gleichen Fehler wie IE6 und 7 haben, beim Selektor irgendwas finden - da die neueren Browser allesamt korrekten CSS-Support haben, reicht das üblicherweise aus.

    Invalide Hacks haben insbesondere den Nachteil, dass das CSS damit nicht mehr sauber validiert. Zusätzlich sind sie weniger selbsterklärend und können außerdem leichter als Tippfehler mißverstanden werden.

    Des weiteren sollte folgende Überlegung einbezogen werden: in vielen Fällen ist gar kein Hack notwendig und 100% dieser Fälle sollte auf einen Hack verzichtet werden.

    Gruß, LX

    --
    RFC 1925, Satz 2: Egal, wie fest man schiebt, ganz gleich, wie hoch die Priorität ist, man kann die Lichtgeschwindigkeit nicht erhöhen.
    1. in vielen Fällen ist gar kein Hack notwendig

      Das möchte ich unterstreichen, es kann imho nicht oft genug gesagt werden.
      1. IE6 ist tot, Microsoft hat das jüngst verkündet (sowie dass der IE8 der meistgenutzte Browser ist). Den IE6 kann man heute ebenso behandeln wie NetScape4 (und IE7 wahrscheinlich auch) nämlich: In der Regel gar nicht.
      2. Wenn eine Seite in dem einen Browser anders aussieht als in einem anderen: Dann ist das eben so. Vielleicht möchte der Benutzer das sogar. Und in den meisten Fällen ist es Wurst ob eine Box jetzt zwei Pixel weiter rechts endet oder nicht. Man muss die Seiten nur "locker" (flexibel) schreiben, dann ist es oftmals egal. Es sieht _anders_ aus, aber es sieht nicht besser oder schlechter aus.

      PS zum Thema "der Benutzer möchte sogar": Ich habe mein Benutzer-CSS (also jenes welches der Browser jeder Seite zugrunde legt) so angepasst dass es einen leicht gräulichen anstatt einen weißen Hintergrund verwendet. Zweck der Maßnahme ist dass ich Bilder mit weißem Rand leicht als solche erkenne.
      Aber man muss sich mit einem nichtweißen Hintergrund z.B. mal die FF-Startseite oder ebay angucken (letzterer nicht so brutal), da scheinen sich Webentwickler darauf zu verlassen dass Benutzer weiße Hintergründe eingestellt haben und verwenden für Elemente die keinen Hintergrund haben sollen weiß. (Gäbe noch viele andere Beispiele).

      --
      sh:( fo:| ch:? rl:( br:& n4:& ie:{ mo:} va:) de:µ_de:] zu:) fl:( ss:| ls:[ js:(
        1. Wenn eine Seite in dem einen Browser anders aussieht als in einem anderen: Dann ist das eben so. Vielleicht möchte der Benutzer das sogar. Und in den meisten Fällen ist es Wurst ob eine Box jetzt zwei Pixel weiter rechts endet oder nicht. Man muss die Seiten nur "locker" (flexibel) schreiben, dann ist es oftmals egal. Es sieht _anders_ aus, aber es sieht nicht besser oder schlechter aus.

        Das ist richtig - und grobe Fehler wie der Doubled Float-Margin Bug lassen sich ohne Hacks korrigieren.

      1. Hi,

        Das möchte ich unterstreichen, es kann imho nicht oft genug gesagt werden.

        1. IE6 ist tot, Microsoft hat das jüngst verkündet

        Leider ist diese Nachricht nicht bei all meinen Besuchern angekommen. Oder meine Statsitik lügt. Denke mir wird nimand ein kleines

        float:left; _float:none; *float:none;

        um zu verhindern dass Fotos beim alten IE nicht ungewollt auf der falschen z-index Ebene floaten verübeln.

        LG

        1. um zu verhindern dass Fotos beim alten IE nicht ungewollt auf der falschen z-index Ebene floaten verübeln.

          Was spricht gegen einen Workaround der keine Hacks bedarf?

          • inline-block statt float?
          • ein geeignetes position: relative; und entsprechende Z-Indizes an der richtigen Stelle?

          Was spricht gegen valide Hacks?

      2. Lwen wo!

        in vielen Fällen ist gar kein Hack notwendig
        Das möchte ich unterstreichen, es kann imho nicht oft genug gesagt werden.

        1. IE6 ist tot, Microsoft hat das jüngst verkündet (sowie dass der IE8 der meistgenutzte Browser ist). Den IE6 kann man heute ebenso behandeln wie NetScape4 (und IE7 wahrscheinlich auch) nämlich: In der Regel gar nicht.

        Leider nicht wahr bzw. nur bei privaten Seiten. Im geschäftlichen Umfeld muß man wochentags durchaus noch über 60% IE6 einkalkulieren. Große Unternehmen, insbesondere mit alten Intranets, sind extremst träge beim Updaten.

        1. Wenn eine Seite in dem einen Browser anders aussieht als in einem anderen: Dann ist das eben so. Vielleicht möchte der Benutzer das sogar. Und in den meisten Fällen ist es Wurst ob eine Box jetzt zwei Pixel weiter rechts endet oder nicht. Man muss die Seiten nur "locker" (flexibel) schreiben, dann ist es oftmals egal. Es sieht _anders_ aus, aber es sieht nicht besser oder schlechter aus.

        Völlig richtig im privaten Umfeld, aussichtslos im geschäftlichen. Für jeden Pixel, der anders ist als im Photoshop-Template, kommt eine Beschwerde. Es ist schon jedesmal mühselig, die Sache mit der Schriftart und der Kantenglättung zu erklären, aber daß z.B. die runden Ecken im IE fehlen oder irgendwelche Abstände falsch sind, wird nicht abgenommen.

        PS zum Thema "der Benutzer möchte sogar": Ich habe mein Benutzer-CSS (also jenes welches der Browser jeder Seite zugrunde legt) so angepasst dass es einen leicht gräulichen anstatt einen weißen Hintergrund verwendet. Zweck der Maßnahme ist dass ich Bilder mit weißem Rand leicht als solche erkenne.

        Bei mir ist er graublau, damit a. ein neuer Tab mich nicht so brutal mit voller Kraft anleuchtet, und b. ich nicht vergesse, background-color:#fff explizit anzugeben, wenn es gewünscht ist.

        Aber man muss sich mit einem nichtweißen Hintergrund z.B. mal die FF-Startseite oder ebay angucken (letzterer nicht so brutal), da scheinen sich Webentwickler darauf zu verlassen dass Benutzer weiße Hintergründe eingestellt haben und verwenden für Elemente die keinen Hintergrund haben sollen weiß. (Gäbe noch viele andere Beispiele).

        Jop, mir fallen auch regelmäßig welche auf. Sogar Apple, bei denen weiß ein wichtiges Produktmerkmal ist, hat das mal vergessen.

        Viele Grüße vom Længlich

        --
        Mein aktueller Gruß ist:
        Kosraeisch (Mikronesien)
          1. IE6 ist tot, Microsoft hat das jüngst verkündet (sowie dass der IE8 der meistgenutzte Browser ist). Den IE6 kann man heute ebenso behandeln wie NetScape4 (und IE7 wahrscheinlich auch) nämlich: In der Regel gar nicht.
            Leider nicht wahr bzw. nur bei privaten Seiten. Im geschäftlichen Umfeld muß man wochentags durchaus noch über 60% IE6 einkalkulieren. Große Unternehmen, insbesondere mit alten Intranets, sind extremst träge beim Updaten.

          Heißt das Microsoft lügt mich an? Frechheit!
          Ich weiß nicht wir MS seine Daten erhebt aber auf der MIX war eben die Rede von oben gesagtem (6er wird irrelevant und 8er ist der häufigste Browser) weltweit. (Quelle: c't)
          Es gibt nur eine Website die ich wirklich aktiv betreue und die ist privat. Auch dort spielt der 6er keine Rolle mehr.
          Die Nummer mit den Intranets... ja, weiß der Henker welche Pfeifen anno dazumal diesen komischen ActiveX-Kram da reingehackt haben dass es den Unternehmen fast unmöglich ist ihre Software zu aktualisieren... wobei... ist es das? Ich habe keine Erfahrung mit den Kompatibilitätsmodi der IEs aber damit sollte es doch auch klappen!?

          1. Wenn eine Seite in dem einen Browser anders aussieht als in einem anderen: Dann ist das eben so. Vielleicht möchte der Benutzer das sogar. Und in den meisten Fällen ist es Wurst ob eine Box jetzt zwei Pixel weiter rechts endet oder nicht. Man muss die Seiten nur "locker" (flexibel) schreiben, dann ist es oftmals egal. Es sieht _anders_ aus, aber es sieht nicht besser oder schlechter aus.

          Völlig richtig im privaten Umfeld, aussichtslos im geschäftlichen. Für jeden Pixel, der anders ist als im Photoshop-Template, kommt eine Beschwerde. Es ist schon jedesmal mühselig, die Sache mit der Schriftart und der Kantenglättung zu erklären, aber daß z.B. die runden Ecken im IE fehlen oder irgendwelche Abstände falsch sind, wird nicht abgenommen.

          Verlangen deine Kunden auch, dass es auf dem WAP-Handy (nicht Smartphone) genauso aussieht? Allein den 27-zöller mit dem Subnotebook pixelgenau in Einklang zu bringen stellt einen doch schon vor Schwierigkeiten. Textbrowser? Braillezeile? Safari?
          Eigentlich sollten auch Unternehmen/Unternehmer wissen, dass das gleiche Dokument in Textverarbeitung X anders aussieht als in Textverarbeitung Y und auch anders als in Textverarbeitung X 2.0.
          Dass das alles nicht so realitätsnah ist ist mir bewusst, aber es muss doch einen Weg geben Einsicht in die Köpfe der unwissenden Kunden zu bringen. Und wenn es nur in Schrittchen ist (Marke: JavaScript ist nur optional!) oder eben mit der Keule: "Ja dann schauen Sie sich die Seite mal mit ihrem Telefon an... schaut anders aus ha? Aber dennoch klasse!"

          Ich weiß es auch nicht :)

          Ich kann aber versprechen, dass es den Kunden der Kunden, also den Leuten die später mal die Seiten des Unternehmens anschauen welches pixelgenaue Positionen wollte. Also dass es diesen Kunden der Kunden völlig egal ist dass es in Chrome anders aussieht als in Lynx.

          --
          sh:( fo:| ch:? rl:( br:& n4:& ie:{ mo:} va:) de:µ_de:] zu:) fl:( ss:| ls:[ js:(
          1. Aluukkut!

            Heißt das Microsoft lügt mich an? Frechheit!

            Ich würde es nicht »lügen« nennen – ich habe eher den Eindruck, sie versuchen es herbeizureden, weil sie den alten Bock selbst nicht mehr gerne sehen. ^^

            Ich weiß nicht wir MS seine Daten erhebt aber auf der MIX war eben die Rede von oben gesagtem (6er wird irrelevant und 8er ist der häufigste Browser) weltweit. (Quelle: c't)
            Es gibt nur eine Website die ich wirklich aktiv betreue und die ist privat. Auch dort spielt der 6er keine Rolle mehr.

            In sämtlichen privaten Statistiken, die ich kenne, ist IE 6 einstellig vertreten und kann damit IMHO ignoriert werden. D.h. Texte sollten noch lesbar und Links anklickbar sein, aber das genügt dann auch.

            Die Nummer mit den Intranets... ja, weiß der Henker welche Pfeifen anno dazumal diesen komischen ActiveX-Kram da reingehackt haben dass es den Unternehmen fast unmöglich ist ihre Software zu aktualisieren... wobei... ist es das? Ich habe keine Erfahrung mit den Kompatibilitätsmodi der IEs aber damit sollte es doch auch klappen!?

            Eigentlich sollte das gehen, ja. Und selbst wenn nicht, könnten sie einen zusätzlichen Browser installieren (Firefox, Opera, Safari, … – mir egal, welchen) und die Mitarbeiter anweisen, den IE 6 nur noch fürs Intranet zu verwenden, bis dieses modernisiert ist. Passende Einstellungen von Firewall bzw. Proxy könnten der Anweisung Nachdruck verleihen.

            Verlangen deine Kunden auch, dass es auf dem WAP-Handy (nicht Smartphone) genauso aussieht? Allein den 27-zöller mit dem Subnotebook pixelgenau in Einklang zu bringen stellt einen doch schon vor Schwierigkeiten. Textbrowser? Braillezeile? Safari?

            Handies und Smartphones werden beim nächsten Redesign sicherlich ein Thema sein. Fest steht, daß sie unterstützt werden sollen. Was das genau heißt, werden wir sehen. Braillezeile ist ihnen explizit egal.¹ Im Safari soll es so aussehen wie in IE, Firefox etc., wobei ich glaube, daß sie sich mit der stark abweichenden Schriftdarstellung abgefunden haben.

            ¹ Dabei ist zu sagen, daß wir auch Charts und Web-Applikationen haben, die ohne graphischen Browser mit JS nicht darstell- bzw. bedienbar sind. Die dazugehörigen Texte sollten allerdings auf Braillezeilen angezeigt werden können.

            Eigentlich sollten auch Unternehmen/Unternehmer wissen, dass das gleiche Dokument in Textverarbeitung X anders aussieht als in Textverarbeitung Y und auch anders als in Textverarbeitung X 2.0.
            Dass das alles nicht so realitätsnah ist ist mir bewusst, aber es muss doch einen Weg geben Einsicht in die Köpfe der unwissenden Kunden zu bringen. Und wenn es nur in Schrittchen ist (Marke: JavaScript ist nur optional!) oder eben mit der Keule: "Ja dann schauen Sie sich die Seite mal mit ihrem Telefon an... schaut anders aus ha? Aber dennoch klasse!"

            Ja, das sollte eigentlich jeder Mensch verstehen können, der überhaupt einen Computer hat. Bei jeder Diskussion macht der Kunde auch irgendwann den Eindruck, es verstanden zu haben – und dann kommt zwei Tage später wieder so eine eMail mit irgendeinem Blödsinn, von dem man dachte, er sei vom Tisch, und beim nächsten Gespräch fängt man wieder von vorne an. Das ist manchmal echt frustrierend.

            Ich kann aber versprechen, dass es den Kunden der Kunden, also den Leuten die später mal die Seiten des Unternehmens anschauen welches pixelgenaue Positionen wollte. Also dass es diesen Kunden der Kunden völlig egal ist dass es in Chrome anders aussieht als in Lynx.

            Ha, die Kunden der Kunden würden garantiert so einiges anders machen! ^^ Wir melden ja auch unermüdlich die gröbsten Usability-Schnitzer in den Templates – manchmal ist der Kunde total dankbar und will sofort eine bessere Lösung, manchmal muß das erst mit wem auch immer abgesprochen werden, und dann kommt am nächsten Tag per Mail: »Macht es so wie im Template«, und allein schon das Fehlen von jedweder Begründung zeigt, daß Diskussion unerwünscht und zwecklos ist.
            Bis jetzt habe ich noch nichtmal ein System erkannt, wann Kunden beratungsresistent sind und wann nicht. Sogar bei ein- und derselben Person ist immer wieder jedes Ergebnis möglich.

            Daß Besucher mit nur je einem Browser kommen und Unterschiede nicht bemerken, ist mir schon klar. Aber Kunde und Designer scheinen recht genau zu vergleichen …

            Viele Grüße vom Længlich

            --
            Mein aktueller Gruß ist:
            Kalaallisut (Grönland)