Hallo,
kann ich das Haupt CSS abhängig von der Monitorauflösung einbinden? Also bei 1024x768 soll style.css eingebunden werden und bei 1280x1024 soll stylexl.css eingebunden werden.
Hintergrund: Ich habe hier ein Layermenü, das im IE nur mit Positionsangaben funktioniert. Bei einer geringeren Auflösung als 1280x1024 verschiebt sich das Submenü. der Firefox macht es natürlich mal wieder richtig, egal was für eine Auflösung.
Die Auflösung wird nicht an den Webserver gesendet, wie z.B. der Browser. Daher kannst du die innerhalb von TYPO nicht abfragen. Du könntest höchstens ein Javascript schreiben, dass dann die CSS Dateien einbindet, aber das lässt natürlich User außen vor, die JS deaktiviert haben.
Gibt es keine Alternative bei deinem Menü? Läuft die Seite im IE im Standards Mode?
Grüße
Christian
Hmm ich kenne zumindest keine vernünftige alternative. Die Seite läuft im CSS Compliant Mode, also kein Quirks.
Über JS geht es, als Header Value. Aber wegen der < und > im Script ist es dann nicht mehr XHTML konform. Hab es auch schon mit CDATA versucht, dann läuft das Script nicht mehr 🙁
dann wird es schwierig, denn es muss auf jeden Fall clientseitig entschieden werden.
Vielleicht als Kommentar getarnt? Oder in einer externen JS Datei?
Oder wenn es nicht zu viele Änderungen am Stylesheet sind, vielleicht direkt die Styles mit JS per DOM setzen?
Außerdem könntest du das Array document.stylesheets manipulieren und so die alternative Datei laden.
Grüße
Christian
Wir haben das gleiche Problem so gelöst:
Zuerst ganz normal das 1024er-CSS-File laden, damit auch die Besucher mit kleiner Auflösung bzw. ohne JS was von der Seite haben:
<link rel="stylesheet" type="text/css" href="fileadmin/pfad/zum/css/1024.css" media="screen" />
Und dann das CSS für die größere Auflösung per JavaScript nachladen:
<script type="text/javascript">
/*<![CDATA[*/
if(document.body.clientWidth >= 1200) {
document.write("<link rel=\"stylesheet\" media=\"screen\" type=\"text/css\" href=\"fileadmin/pfad/zum/css/1280.css\" />");
} /*]]>*/
</script>
Funktioniert und ist standardkonform, hat aber den kleinen Nachteil, dass dann mehr Bandbreite für die zusätzliche CSS-Datei anfällt. Damit kann ich aber leben. 😉