Webblob: Verschiedene Layouts je nach...

Beitrag lesen

Hi,

Dafür wollte ich window.innerWidth, bzw. window.innerHeight (bei nicht IE) benutzen.
wozu? Andere Browser kannst Du wie Jan schon sagte mit max-width bedienen.

Ich will doch kein fluides Layout, sondern wenn das Fenster breit genug ist, eins mit einer festen Breite von 980px (mit 3 Spalten), und wenn das Fenster nicht breit genug ist, oder sich dessen Breite nicht feststellen lässt (JS nicht verfügbar), eins mit einer festen Breite von 760px (mit 2 Spalten)!

Beim IE ist das leider etwas umständlicher, da er nur das von dir erwähnte offsetWidth/ offsetHeight kennt, was aber voraussetzt, dass das jeweilige Objekt schon existiert, was wiederum eine Verwendung im Head unmöglich macht.
ich würde es einfach mal onload ausprobieren. Ich habe auf meiner Startseite auch so ein kleines Gimmick und der Layoutwechsel fällt gar nicht auf.

Sorry, aber was soll ich denn mit 'onload' ausprobieren (sag' ja - stehe irgendwie auf der Leitung)?

Dafür kann man beim IE aber das komplette Stylesheet sehr einfach ersetzen mit document.styleSheets[x].href="xyz_datei.css"
wozu der Aufwand? Es reicht doch die Änderung einer Eigenschaft, oder bedingt das weitere Anpassungen?

Das sind aber ziemlich viele Eigenschaften die man da ändern muss, und ehrlich gesagt finde ich das per JS auch ziemlich aufwendig/ umständlich.

Und wenn, dann würde ich auf keinen Fall ein weiteres Stylesheet laden - _das_ dürfte dann bemerkbar werden - sondern ein vorhandenes disablen.

Jetzt wird's schon interessanter. Frage: Wenn ich ein Stylesheet disable und trotzdem noch eine Formatierung haben will, muss ich doch vorher schon mind. ein zweites Stylesheet geladen haben, oder?

Die Methode document.styleSheets[x].href="xyz_datei.css" bewirkt doch nach meinem Verständnis im Prinzip genau das. Das vorhandene Stylesheet wird durch eine andere Datei ersetzt. Ist doch quasi das gleiche wie Stylesheet 1 -> disabled + Stylesheet 2 -> enabled (genauer: disabled = false). Oder hab' ich da was nicht richtig verstanden?

Ich versuche noch Mal mein Problem etwas genauer zu schildern:
Die Frage, die sich mir stellt ist, wie binde ich, nach Möglichkeit in einer Datei, sowohl die CSS-Datei(en) für das 2-Spalten Layout mit 760px Breite (fest!), als auch die Datei(en) für 980px Breite (fest!), wenn JS aktiviert und Fenster breit genug, ein? Oder passe ich die Datei(en) des 760px Layouts per JS an das 980px Layout an? Oder gibt es wie so oft eine dritte und vierte Möglichkeit, die mir partou nicht einfallen will?

Gruß Gunther