2012-03-27 11 views
0

Beim Auslegen einer Seite mit absoluter Positionierung wurde mir klar, dass es von Browser zu Browser unterschiedlich gerendert wurde. Ich habe online nach CSS-Selektoren gesucht, um zu sehen, ob es eine Möglichkeit gibt, die Positionierung zu ändern, basierend auf welchem ​​Browser der Benutzer verwendet hat, aber ich konnte nichts sehr hilfreich finden. Irgendwelche Ideen?CSS-Browser-Selektoren

+0

Gibt es einen besonderen Grund, warum Sie absolute Positionierung verwenden? Dies sollte nach Möglichkeit vermieden werden. – Oliver

+2

@Oliver Warum fühlen Sie absolute Positionierung ist schlecht? – nathanjosiah

+0

Ich verwende die absolute Positionierung für eine Tabelle, die auf einem Bild erscheint, das auf der Hauptseite als Pop-Up eingeblendet wird. – thuey

Antwort

2

Das sieht für mich wie eine schlechte Strategie aus ... Ich würde nicht von absolut zu sagen, relativ, oder eine andere Art der Positionierung basierend auf der Art des Browsers wechseln wollen. Sie alle sollten die Positionierung ziemlich ähnlich machen. Sie müssten wahrscheinlich einige zusätzliche Stile hinzufügen, damit sich ein bestimmtes Element in bestimmten Browsern richtig verhält, aber die globale Positionierungsmethode basierend auf dem Browser zu ändern, ist keine gute Idee, IMO.

UPDATE:

Auf CSS allein gibt es keinen Standardmechanismus einen Browser zu erkennen. Sie können Tricks wie die unten eine bestimmte Version von IE, zum Beispiel erkennen:

<!--[if IE 6]> 
<link rel="stylesheet" type="text/css" href="iespecific.css" /> 
<![endif]--> 

oder so etwas wie:

<!--[if gte IE 6]> 
<link rel="stylesheet" type="text/css" href="iespecific.css" /> 
<![endif]--> 

Für eine vollständige Liste der Optionen see here.

Another Alternativ können Sie jQuery verwenden (wenn es eine Option für Sie ist) und den Stil des Elements mithilfe von JavaScript abhängig vom Browser anpassen. Etwas wie:

if ($.browser.msie) { 
    $("#div ul li").css("display","inline"); 
} else { 
    $("#div ul li").css("display","inline-table"); 
} 

Mehr examples here.

Ein Wort der Vorsicht: keine der oben genannten Methoden ist unfehlbar. Ein Beispiel: Firefox kann sich als Internet Explorer identifizieren.

+0

Ich denke nicht daran, von absolut zu relativ zu ändern. Ich versuche nur, die oberen, linken Positionen basierend auf dem Browser zu ändern, den sie verwenden. – thuey

+0

@ user1281231 habe jetzt meine Antwort aktualisiert, dass Sie klargestellt haben, was Sie damit gemeint haben, indem Sie die Positionierung geändert haben. – Icarus

+0

Danke für Ihre Antwort. Ich verstehe jetzt. – thuey