2 CSS Versionen jeweils für IE und Netscape
Nadine
- css
Hi Leute,
ich habe 2 CSS-Dateien geschrieben. Jeweils eine für den IE und eine für den Netscape. Mein Problem ist jetzt, das ich nicht weiß, wie ich die Browserabfrage machen soll. Also wenn IE dann ie.css und wenn Netscape dann nets.css. Ich hoffe ihr könnt mir helfen. Wäre echt super wichtig.
Schon thx im Voraus
Nadine ;o)
Hm, wenn du die möglich keit zu PHP hast, könntest du das so machen:
/SNIP/
$browser = getenv('HTTP_USER_AGENT');
if($browser = "MSIE") { require "ie.css"; }
if($browser = "Netscape") { require "ie.css"; }
/SNIP/
Wahrscheinlich musst du da oben regexp benutzen, da die browser sich ja immer so doof selber bezeichnen.
oder per ?browser=xyz das immer weitergeben, geht natürlich auch.
das ist jetzt beides aber nicht getestet.
Ne andere Möglichkeit wäre, ne Startseite zu machen und per Javascript zu verschiedenen seiten zu linken, das wird bei großen webseiten natürlich SEHR umständlich.....
Ne andere Möglichkeit wäre, ne Startseite zu machen und per Javascript zu verschiedenen seiten zu linken, das wird bei großen webseiten natürlich SEHR umständlich.....
Eben das is ja das Problem...ich brauche eine Lösung, die möglichst einfach einer html-Seite 2 CSS-Versionen zur Verfügung stellt. Jenachdem mit welchem Browser man halt eine Anfrage stellt.
Moin Moin !
http://aktuell.de.selfhtml.org/artikel/css/dyn-css/index.htm Dynamisches CSS
von Stefan Münz: Tipps für browser-individuelle CSS-Definitionen mit JavaScript
Alexander
Hi Alexander,
Tipps für browser-individuelle CSS-Definitionen mit JavaScript
siehst du im Kühlschrank nach, wenn du wissen willst, ob du heute einen Regenschirm benötigen wirst? Eben... Mit Javascript oder gar serverseitig einen Browser ermitteln zu wollen, halte ich für arg optimistisch, da unzuverlässig und vor allem vom Prinzip her für falsch. Javascript und CSS haben (außer bei Netscape 4) *nichts* miteinander zu tun, können unabhängig voneinander deaktivert/manipuliert sein - auch ohne Zutun des Besuchers. Außerdem haben wohl wesentlich mehr Besucher Javascript deaktiviert als CSS.
Ich habe ein kleines Beispiel gebastelt, wie eine reine CSS-Weiche aussehen könnte. Der Vorteil ist, dass jeder Browser das anzeigt, was er darstellen kann - und das ändert sich innerhalb einer Version für gewöhnlich nicht. Ein Nachteil ist, dass man diese Methode anpassen muss, sobald ein neuer Browser (der besser ist als sein Vorgänger) erscheint.
http://skop.net/self/css_browserweiche.html
Wer einen Fehler findet, darf ihn nicht behalten - ich bitte um Feedback, vor allem, was Macs und Exoten betrifft. Danke :)
LG Roland
Hallo Orlando
Ich habe ein kleines Beispiel gebastelt, wie eine reine CSS-Weiche aussehen könnte. Der Vorteil ist, dass jeder Browser das anzeigt, was er darstellen kann - und das ändert sich innerhalb einer Version für gewöhnlich nicht. Ein Nachteil ist, dass man diese Methode anpassen muss, sobald ein neuer Browser (der besser ist als sein Vorgänger) erscheint.
http://skop.net/self/css_browserweiche.html
Wer einen Fehler findet, darf ihn nicht behalten - ich bitte um Feedback, vor allem, was Macs und Exoten betrifft. Danke :)
Mit nem Exoten kann ich leider nicht dienen, habe winXP *indeckunggeh*
Aber nen Fehler schein ich gefunden zu haben *hehehe*
Mit OPERA 5.12 und 6.04 funktioniert folgendes
html[lang] #test {
color:#800;
/* nur für Opera */
}
bei mir leider nicht. Es wird MSIE-hellblau dargestellt.
Nachdem ich auch etwas rumprobiert habe hat es mit:
html>body #test {
color:#800;
/* nur für Opera */
}
funktioniert. Was hältst Du davon?
Grüße aus Nürnberg,
HarryS
Hi Harry,
Mit OPERA 5.12 und 6.04 funktioniert html[lang] bei mir leider nicht. Es wird MSIE-hellblau dargestellt.
Nachdem ich auch etwas rumprobiert habe hat es mit:
html>body #test {
funktioniert. Was hältst Du davon?
Ich werde dich knuddeln ;-)
Deine Variante erwischt alle Operas, doch [lang] kennt nur Opera 7, somit kann man ihn von Opera <7 und Mozilla unterscheiden.
html>body = Opera 5,6 (sowie einige andere, zB Konqueror)
html[lang] = Opera 7
html:root = Mozilla
Ich werde die Seite aktualisieren, danke für den Hinweis.
LG Roland
Hallo Roland,
html[lang] = Opera 7
Und was ist, wenn ich meinem HTML-Element ein lang-Attribut mit dem Inhalt "de" verpasst habe? Soweit ich weiß, kapiert das dann auch der Mozilla, oder?
*mal-wie-ein-kleiner-dau-frag*
Christian
Hi Christian,
html[lang] = Opera 7
Und was ist, wenn ich meinem HTML-Element ein lang-Attribut mit dem Inhalt "de" verpasst habe? Soweit ich weiß, kapiert das dann auch der Mozilla, oder?
korrekt, aber der *nachfolgende* Selektor html:root{} gilt ausschließlich für Mozilla, womit man die Opera 7-Definitionen wieder überschreiben kann. Ausschlaggebend bei solchen Hacks ist immer die richtige Reihenfolge.
*mal-wie-ein-kleiner-dau-frag*
*gütigköpfchenstreichel* ;-p
LG Roland
Hallo Orlando,
Ich werde dich knuddeln ;-)
Huch, da werd ich ja gleich rot :))
Deine Variante erwischt alle Operas, doch [lang] kennt nur Opera 7, somit kann man ihn von Opera <7 und Mozilla unterscheiden.
Aaaha so ist das. Ich muß gestehen daß ich den 7er Opera immer noch nicht runtergezogen habe. Werde ich jetzt aber endlich machen.
Eigentlich sind ja jetzt fast alle [wichtigen] Browser mit CSS-Weichen auseinandergefieselt, wobei ich Dein Beispiel http://skop.net/self/css_browserweiche.html noch wesentlich ausführlicher finde als z.B. http://aktuell.de.selfhtml.org/tippstricks/css/browserweiche/index.htm
html>body = Opera 5,6 (sowie einige andere, zB Konqueror)
html[lang] = Opera 7
html:root = Mozilla
Weist Du schon ausführlich welche das noch sind, die das html>body verstehen? Würde mich interessieren.
Ich werde die Seite aktualisieren, danke für den Hinweis.
war mir ein Fest.
Achja nochwas: Was hältst Du eigentlich von diesen "conditional comments" mit denen man gezielt die IE's bedienen kann?
Grüße aus Nürnberg,
HarryS
Hi Harry,
Eigentlich sind ja jetzt fast alle [wichtigen] Browser mit CSS-Weichen auseinandergefieselt, wobei ich Dein Beispiel http://skop.net/self/css_browserweiche.html noch wesentlich ausführlicher finde als z.B. http://aktuell.de.selfhtml.org/tippstricks/css/browserweiche/index.htm
Meinst du, ich sollte den TuT-Beitrag aufbohren?
html>body = Opera 5,6 (sowie einige andere, zB Konqueror)
Weist Du schon ausführlich welche das noch sind, die das html>body verstehen?
Nein, noch nicht vollständig. Ich werde mich diesbezüglich etwas umsehen müssen und bei Updates die Signatur wechseln ;)
Achja nochwas: Was hältst Du eigentlich von diesen "conditional comments" mit denen man gezielt die IE's bedienen kann?
Sie sind zwar prinzipiell unsauber, aber manchmal nötig - URI siehe oben. Mir ist nur nur noch nicht ganz klar, aus welchem Grund der M$IE5.5 (den muss ich hier verwenden...) sein Stylesheet ignoriert.
LG Roland
Hallo, Orlando,
http://aktuell.de.selfhtml.org/tippstricks/css/browserweiche/
Apropos, ändere bitte die Adresse von http://pixels.pixelpark.com/~koch/hide_css_from_browsers/ zu http://w3development.de/css/hide_css_from_browsers/, siehe http://groups.google.at/groups?selm=asfa7a%24r2mvi%241%40ID-61067.news.dfncis.de&output=gplain und http://groups.google.at/groups?selm=atna39%24qh53%241%40ID-61067.news.dfncis.de&output=gplain.
Husch, sonst mache ich es (bald) selbst, hinter deinem Rücken. ;)
Meinst du, ich sollte den TuT-Beitrag aufbohren?
[x] Dafür. Du könntest auch das Zeugs verlinken, was scheinbar auf css-design entstanden ist (*such* http://entwicklungen.d913.ath.cx/projects/hidecss/). Wir kommen sowieso nicht umhin, die CSS-Linkliste dahingehend zu aktualisieren, finde ich.
Grüße,
Mathias
Hi Mathias,
Apropos, ändere bitte die Adresse von http://pixels.pixelpark.com/~koch/hide_css_from_browsers/ zu http://w3development.de/css/hide_css_from_browsers/
Ah, danke. Die Umleitung wurde wieder entfernt, also eilt das nicht.
Husch, sonst mache ich es (bald) selbst, hinter deinem Rücken. ;)
Du glaubst doch nicht wirklich, du wärst unbeobachtet? ;)
Meinst du, ich sollte den TuT-Beitrag aufbohren?
[x] Dafür.
Ok, sobald ich Zeit und PC habe, werde ich ihn ergänzen.
Du könntest auch das Zeugs verlinken, was scheinbar auf css-design entstanden ist (*such* http://entwicklungen.d913.ath.cx/projects/hidecss/).
Das hatte ich ohnehin vor, sowie http://centricle.com/ref/css/filters/.
Wir kommen sowieso nicht umhin, die CSS-Linkliste dahingehend zu aktualisieren, finde ich.
Ach, mach's dir doch selbst *fg*, ist schließlich dein Bereich ;)
LG Roland
Hallo Orlando,
Meinst du, ich sollte den TuT-Beitrag aufbohren?
Ja, das kam mir in den Sinn.
Achja nochwas: Was hältst Du eigentlich von diesen "conditional comments" mit denen man gezielt die IE's bedienen kann?
Sie sind zwar prinzipiell unsauber, aber manchmal nötig - URI siehe oben. Mir ist nur nur noch nicht ganz klar, aus welchem Grund der M$IE5.5 (den muss ich hier verwenden...) sein Stylesheet ignoriert.
Seltsam, [if gte IE 5] sollte doch alle größer 5 meinen.
Daß man auch Text anzeigen kann, wie bei Dir verwendet, war mir auch neu, wieder was gelernt, hmmmm da könnte man doch...
Hab jetzt auch mal bei Dir etwas rumgestöbert und deine Web-evolution nachvollzogen :)
Also "Giftschrank" für die Erste ist ne treffende Bezeichnung (jaja lang lang ist's her *bg*)
Die "alte version" ist schon schöner (suchst Du immer noch ne Lotus Elise? bei der könnte ich auch schwach werden).
Und die aktuelle Version gefällt mir in silver sehr gut (schlicht und edel) das blau allerdings naja, es ist halt _sehr_ blau.
Oh sorry aber jetzt bin ich total abgedriftet. Von einer Bewertung Deiner Site war eigentlich nie die Rede. Ich hoffe Du bist mir desshalb nicht böse.
Grüße aus Nürnberg,
HarryS
Hallo!
Eben das is ja das Problem...ich brauche eine Lösung, die
möglichst einfach einer html-Seite 2 CSS-Versionen zur Verfügung
stellt. Jenachdem mit welchem Browser man halt eine Anfrage stellt.
http://aktuell.de.selfhtml.org/tippstricks/css/browserweiche/index.htm
Man kann auch ohne Java-Script relativ gut Netscape 4, Internet
Explorer und Netscape 6 auseinanderhalten, mit Conditional Comments
auch verschiedene Versionen des Internet Explorer.
emu
[...]
emu,
Java-Script
http://www.googlefight.com/cgi-bin/compare.pl?q1=javascript&q2=java-script&langue=us :-P
M.