Frage zu Browserweiche

Ich hab in meinen Code eine Browserweiche eingebaut, da bei jedem Browser die Seite anders dargestellt wird.
Funktioniert auch einwandfrei, bei jedem Browser wird ne andere CSS geladen
Meine Frage , welche Browser soll ich einbinden
Ich glaube IE6, IE 7, IE 8 und Firefox genügen, weil die anderen Browser doch relativ selten sind, oder ?
Das Ganze sieht so aus
[PHP]

<?php $browser =$_SERVER['HTTP_USER_AGENT']; $pos = strpos($browser, "Gecko"); // Gecko ist der Firefox if ($pos !==false){$styletyp="styles_mozilla.css" ;} .............. ?> [/PHP]

So eine Browserweiche ist in 99,999% der Fälle überflüssig und liegt eher an kaputten HTML oder CSS Code. Um die Bugs des IE auszumerzen, gibt es zahlreiche bessere Möglichkeiten, z.b so was wie den Star Hack. Aber dazu muss man erstmal rausfinden um welchen Bug es sich handelt. Hier ist eine kleine Liste: Explorer Exposed!

Na da freuen sich aber alle Opera, Safari, Google Chrome und sonstige Benutzer, dass du sie für nicht so wichtig erachtest…

Eine Browserweiche ist in den meisten Fällen überflüssig, wenn man seine Seite vernünftig schreibt. Die Unterschiede in der verschiedenen Browsern kommen meistens durch fehlerhaften Code und schlechtes CSS.

Ich habs mit dem W3C -Validator überprüft, sind keine Fehler drin

The W3C Markup Validation Service

Die Abstände beim IE sind eben nicht exakt dieselben wie beim Firefox

Nur weil ein Dokument valide ist, heißt es nicht, dass alles in Ordnung ist. Der Fehler kann auch im CSS liegen.

Meinst du ich soll die Browserweiche weglassen ?
Oder gibt es Browser, bei denen es ohne Weiche nicht geht ?

Ich kenne nicht jeden Browser und dessen Unterstützung von CSS, aber für die gängigsten braucht man keine Weiche.

Okay, dann lass ich das weg

Hier steht was darüber

TP: Bugs / Lösungen für Internet Explorer, Firefox und Co. - TP Hilfe Forum – Anleitung - Tutorial - Workshop…

Moin,

wenn es um den IE geht arbeitet man normalerweise mit Conditional Comments. :wink:

Halte ich für keine gute Idee, ich bevorzuge Hacks.
Da es i.d.R. nicht soviele Bugs sind mit denen man sich rumschlagen muss (wegen der Datenmenge) und es leichter als Hack zu erkennen ist wenn er am Ort der CSS Definition steht.

Mit dieser Auffassung repräsentierst du eine absolute Minderheit.

Die meisten Profis bevorzugen aus guten Gründen Conditional Comments. :wink:

Das wird erstens von MS ausdrücklich empfohlen und zweitens habe ich alle Hacks auf einem Blick und muss sie mir nicht mühsam aus der CSS-Datei zusammensuchen.

Für ein effizientes Debugging ist das leider notwendig.

Why Conditional Comments Are Bad, Repeat:*Bad Jens Meiert

was heißt zusammen suchen? Du musst Wissen zu welchen Element sie gehören. Wenn sie dann woanders stehen musst du sie dir mühsam zusammen suchen und das für jedes Element das einen Hack braucht. Das wäre mir zu lästig.

[EDIT] oder: Seit ich angefangen habe bei Yahoo! zu arbeiten habe ich aus Performance Gründen (weniger HTTP Abfragen) aufgehört Conditional Comments zu benutzen.

Ich hab das inzwischen hinbekommen

Hier stehts , wie man es macht

Star-HTML-Hack & Star-plus-HTML-Hack - CSS-Hacks zur Browserunterscheidung - Stern-HTML und Stern-plus-HTML für IE6 und IE7

für alle Browser,IE6 und kleiner
[PHP]
#id {
/* allgemeiner Stil */
width: 600px; }

  • html #id{
    /* CSS-Hack für IE6 und kleiner /
    width: 550px; }
    [/PHP]
    für IE7
    [PHP]
    id {
    /
    allgemeiner Stil */
    width: 600px; }
    :first-child+html #id{
    /
    CSS-Hack für IE7 */
    width: 550px; }
    [/PHP]

Wenn du ein Problem mt der Breite hast, dann versuchst du vermutlich gerade den Boxmodellbug zu vermeiden. Kann es sein, dass deine Seite im Quirksmode ist?

Nein, ich hab kein Problem mit der Breite
Ich hab nur das Beispiel aus der verlinkten Seite übernommen
Die Abstände beim IE7 und Firefox waren bei mir unterschiedlich
Die reagieren unterschiedlich auf margin und padding

Auch das ist eine Zeichen für den Quirksmode.

Ich habs grad getestet, allerdings nur die index-seite

Darstellungsmodus:CSS1Compat

[PHP] [/PHP]

DOCTYPE-Switch und seine Auswirkungen

Dann wird’s wohl stimmen. Wobei ich solche Probleme nicht kenne, meistens ist es ein hasLayout Problem, für das man einen Hack braucht. Aber das man einen anderen padding/margin Wert benötigt, dürfte selten vorkommen - ich bin aber kein Experte was die IE Bugs angeht, im zweifelsfall ist er mir egal.

Das ist Jens Meierts Meinung.
Die überwiegende Mehrzahl der Profis ist offensichtlich anderer Meinung.

Viel lästiger wäre es doch, wenn ein Hack dank eines MS-Patches plötzlich kontraproduktiv wäre.
Dann kann ich nur sagen : Viel Spass beim Suchen. :mrgreen:

Wenn so eine große Seite wie Yahoo geladen wird, kommt es auf den einen Cond. Comment auch nicht mehr an.
Was da an monstermäßigen JS geladen wird ist ja ohnehin nicht von Pappe.

[ot]Die Yahoo-Seite leidet übrigens an der 13px-Seuche, was mich bei einem derartig großen Portal ziemlich fassungslos hinterläßt. :shock: [/ot]