CSS datei per selektor wählen
Flo
- css
Hallo alle miteinander!
Ich habe ne kurze Frage: Ich habe vor kurzem eine Internetseite gesehen, wo man das Styleheet per pulldown-Menü wählen konnte...
Meine Frage: Wie geht das und hat jemand für mich eine Seite wo das so ist; habe vergessen welche Seite es war :-(
Freue mich auf eure Antworten
Gruß Flo
Hi!
Meine Frage: Wie geht das
Spontan denk ich mal an folgendes:
<?
if(isset($_GET['template']))
$template = $_GET['template'];
else
$template = "template1";
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="[code lang=php]<?echo $template?>
~~~.css">
</head>
<body>
<form method="GET" action="">
<select name="template">
<option>template1</option>
<option>template2</option>
<option>template3</option>
</select>
<input type="submit" value="Template ändern">
</form>
</body>
</html>
[/code]
Das ganze könnte auch mit JS funktionieren, dass ich im select tag ein "onchange" ereignis mache, welches mit den verwendeten stylesheetnamen direkt ändert. Ich weiß nicht, ob das ganze neu geladen werden muss um die Änderungen zu sehen (glaube aber schon).
MfG Emanuel
Ich weiß nicht, ob das ganze neu geladen werden muss um die Änderungen zu sehen (glaube aber schon).
Nicht, wenn du die alternativen Stylesheets per rel="alternate stylesheet" bereits lädst, dann befinden sie sich schon im Speicher und müssen nur per JS aktiviert werden.
Grüße
Chris
Hi,
Nicht, wenn du die alternativen Stylesheets per rel="alternate stylesheet" bereits lädst, dann befinden sie sich schon im Speicher und müssen nur per JS aktiviert werden.
Was, aufgrund von Bugs, nicht jeder Browser beherrscht.
Ich würde jegliche Stylesheet-Switerei immer komplett selbst machen. Das vermeidet die Probleme mit den Browsern, und man muß es sowieso, da man zwar in den Browsern selbst alternative Stylsheets auswählen kann, der Browser sich eine getroffene Einstellung aber ohnehin nicht merkt (wenn er die Technik den unterstützt). :-/
Gruß, Cybaer
Grütze .. äh ... Grüße!
Nicht, wenn du die alternativen Stylesheets per rel="alternate stylesheet" bereits lädst, dann befinden sie sich schon im Speicher und müssen nur per JS aktiviert werden.
Was, aufgrund von Bugs, nicht jeder Browser beherrscht.
Da ich auch styleswitche [ :-) ] Welche Bugs, welche Browser? Hast du da Infos?
Cü
Kai
Hi,
Da ich auch styleswitche [ :-) ] Welche Bugs, welche Browser? Hast du da Infos?
Kann ich dir jetzt nicht genau sagen, aber mindestens die "KHTML"-Browser (Konqueror und Safari) können/konnten mit dem disabled und generell mit "aktiven/inaktiven" Stylesheets leider nicht umgehen. :-(
Und da, wie gesagt, ich die konzeptionellen Umsetzung der Auswahl der alternativen Stylesheets ohnehin bedauernswert schlecht finde (Stichwort u.a.: Beibehalten einer einmal getroffenen Auswahl) und man nicht darauf angewiesen ist, würde ich das stets anders lösen (im einfachsten Fall schlicht neue LINK-Elemente einbinden, und ggf. alte löschen).
Gruß, Cybaer
Grütze .. äh ... Grüße!
Da ich auch styleswitche [ :-) ] Welche Bugs, welche Browser? Hast du da Infos?
Kann ich dir jetzt nicht genau sagen, aber mindestens die "KHTML"-Browser (Konqueror und Safari) können/konnten mit dem disabled und generell mit "aktiven/inaktiven" Stylesheets leider nicht umgehen. :-(
Hmpf .. also genau die, die auf meinem WindreckXP nicht verfügbar sind .. war ja klar.
Safari/Win ist ja eh noch ne Baustelle (und der einzige der getesteten Browser, der mein JS irgendwie gar nicht frisst).
Aber einerseits wegen der von dir schon angesprochenen schlechten Unterstützung alternativer Stylesheets wie auch der Tatsache, daß durch diese Probleme für den Nutzer nicht wirklich etwas verlorengeht (eben nur die Option eines anderen Aussehens der Site) zucke ich mit den Schultern und nehme es so hin. Ich habe meine Site dahingehend gestaltet, daß die Sheet-Auswahl per Cookie dauerhaft und ohne Cookie zumindest für den aktuellen Besuch beibehalten wird, das muß dann halt auch reichen. Es ärgert mich trotzdem (da kommt der kleine Perfektionist wieder zum Vorschein)
Cü
Kai
Hi,
Hmpf .. also genau die, die auf meinem WindreckXP nicht verfügbar sind .. war ja klar.
Linux-Live-CD - z.B. Knoppix. Da ist der Konqueror dabei.
Gruß, Cybaer
Hi,
Ich habe ne kurze Frage: Ich habe vor kurzem eine Internetseite gesehen, wo man das Styleheet per pulldown-Menü wählen konnte...
Meine Frage: Wie geht das und hat jemand für mich eine Seite wo das so ist; habe vergessen welche Seite es war :-(
Du kannst beliebige externe Stylesheets mit JS on-the-fly laden, indem Du neue LINK-Elemente erzeugst (mit createElement() bzw. beim IE mit createStyleSheet()).
Du kannst auch interne Stylesheets problemlos hinzufügen (Coding: CSS-Stylesheets & -Regeln ergänzen) oder ändern (Coding: CSS-Regeln (& Stylesheets) auslesen & ändern).
Gruß, Cybaer