neue css für selbe html aufrufen

ziriander

Erfahrenes Mitglied
Hallo zusammen,

ich habe mehrere css Dateien für ein und die selbe Webseite angelegt. Wie muss ich das den nun verlinken, damit der User nun von dieser html Seite aus die verschiedenen Styles aufrufen kann ?


merci for help
ziriander
 
Hallo!

Wo liegt denn da das Problem?
Ich hab' es mit MEHREREN CSS-Dateien zwar bisher noch nicht ausprobiert, es sollte aber doch so funktionieren, wie normal:

Code:
<html>
<head>
<link rel="stylesheet" type="text/css" href="style1.css">
<link rel="stylesheet" type="text/css" href="style2.css">
</head>
</html>

Oder ging es dir um etwas völlig anderes?
Dann bitte etwas näher beschreiben!
 
Ich bin jetzt etwas verunsichert weil das ja echt leicht aussieht. Deshalb noch mal zur Sicherheit: Ich habe meineSeite.HTML und 4 meinStyle.css (die natürlich unterschiedlich benannt sind). Nun möchte ich die unterschiedlichen Styles für meineSeite.html von eben derselben aus aufrufen.
Na ja, ich werde einfach mal probieren was du da geschrieben hast.
 
Geh ich recht in der Annahme, das Du den User enbtscheiden lassen möchtest welchen der 4 (?) CSS Styles er wählen will?

Wenn dann funktiopniert obiges definitiv nicht, dann muss JavaScript ran.

Falls dem so wäre wie ich oben frage, dann sag bescheid, die habe die paar Scriptzeilen, soweit ich weiß irgendwo liegen.
 
Genau, nach dem der User auf der Startseite ist, möchte ich ihn zwischen den verschiedenen "Styles" entscheiden lassen.
 
In den Head der Startdatei (index.htm):

Code:
<link rel="stylesheet" type="text/css" href="beginn.css" id="css">


Script zum ändern:



Code:
function tausch()
{
document.getElementById("CSS").href = "andere.css"
}
 
Ah!
So ist das gemeint!
Ich dachte, du wolltest einfach nur vier verschiedene Dateien gleichzeitig in deine Seite einbinden.
 
Hallo...

bei der Sache gibt es 2 Probleme.

1.Die Elemente einer Seite werden während des Ladens einer Seite entsprechend der CSS-Angaben formatiert...wenn der Benutzer auf den Link klickt, ist die Seite aber bereits geladen... die Änderung des CSS zeigt daher keine Wirkung mehr.

2.Wenn ein Benutzer auf eine andere Seite gelangt, soll er ja möglichst nicht erneut das neue CSS wählen müssen.

Es muss daher nach der Auswahl des CSS zum Einen die aktuelle Seite neu geladen werden, zum Anderen muss in irgendeiner Art gespeichert werden, welcher Style ausgewählt wurde... am praktischsten sind da Cookies.

Wir hatten das schon mal irgendwo, habs allerdings nicht gefunden:-( ...daher nochmal aufs Neue....


Aussehen könnte das z.B. so:
Code:
<head>
<link rel="stylesheet"type="text/css"href="standard.css">
<script type="text/javascript">
<!--
//Cookie auslesen und benutzerdefinierte CSS-Referenz in Seite schreiben
if(document.cookie)
    {
    if(String(document.cookie).search(/style=\w+/)>=0)
        {
        document.write('<link rel="stylesheet"type="text/css"href="'+String(document.cookie).replace(/style=/,'')+'.css">');
        }
    }

//Benutzerdefinierten Style übernehmen
function setStyle(s)
{
today=new Date();exp=new Date(today.getTime()+31536000000);
document.cookie='style='+s+';expires='+exp.toGMTString()+';';
document.location.reload();
}
//-->
</script>
</head>

Als erstes wird ein CSS ganz normal eingebunden:
Code:
<link rel="stylesheet"type="text/css"href="standard.css">
...das bekommen die Leute zu sehen, welche Javascript aus haben.

Dann folgt das Javascript, welches, falls ein Cookie vorhanden ist, diesen ausliest und anhand dessen die jeweilige CSS-Referenz in die Seite schreibt.

Die Funktion "setStyle()" setzt den Cookie und lädt die aktuelle Seite neu.
Als Parameter erwartet sie dabei den Dateinamen der entsprechenden CSS-Datei(ohne ".css")....

ein Aufruf könnte also so aussehen:
Code:
<a href="javascript:setStyle('rot')">rotes Outfit</a>
....was die Seite neu laden und dabei eine CSS-Datei "rot.css" einbinden würde.

Falls du PHP verfügbar hast, wäre das ganze nach dem selben Schema auch damit umsetzbar.

Test
 
Danke für die ausführliche Beschreibung. PHP habe ich auch zur Verfügung, nutze es jedoch ungern, da alles was PHP basiert ist länger zum laden benötigt.

Gruß
ziriander
 
Das ist mir aber neu, das mit PHP erzeugte Dokumente länger zum Laden benötigen.

Wenn in einem durch PHP erzeugten Dokument dasselbe steht wie in bspw. einer statischen HTML-Seite, dann lädt die auch genauso schnell....

kleine Abweichungen sollte es lediglich dadurch geben, dass das PHP-Skript erst auf dem Server das HTML-Dokument zusammensetzt... dabei handelt es sich im Normalfall aber um Sekundenbruchteile, welche nicht wirklich ins Gewicht fallen sollten.
 

Neue Beiträge

Zurück