Kann man CSS / SCSS Formatierungen Seitenabhängig machen?
Vorneweg: Ich habe 1 CSS / SCSS Datei zum Arbeiten welche für alle Unterseiten bei mir genutzt wird. Daran kann und werde ich nichts ändern und ich bitte auch nicht nachzufragen warum!!!
Kann ich nun eine Formatierung davon abhängig machen auf welcher Seite sie ausgeführt wird? Und wenn ja würde ich mich auch freuen wenn ihr sagt wie.
8 Stimmen
5 Antworten
Also wenn ich dich richtig verstehe, kannst du auf allen Seiten nur ein CSS-Stylesheet einbinden und das ist immer das selbe? Auf einer Seite willst du aber mit diesem Stylesheet irgendwas anders darstellen als auf den anderen?
Wenn ja, dann ist das nicht ohne weiteres möglich. CSS ist unabhängig von der URL und die wäre das einzige Unterscheidungsmerkmal.
Was möglich wäre: Wenn du Einfluss auf die Seite hast, dann kann sie bspw. eine extra Klasse im Body bekommen, durch den du das steuern kannst:
<body class="extra">
Und im CSS:
p { color: black }
body.extra p { color: red }
Das ließe sich ggf. auch noch über ein allgemeines Javascript steuern, welches Zugriff auf die URL hat und die Klasse setzen könnte:
if (window.location.href.indexOf("spezielle-seite") > -1) {
document.body.className = "extra";
}
Dann muss nur auf allen Seiten dieses Javascript am Ende vom Dokument eingebunden werden.
Ich denke du willst nur in einem Dokument was anderes darstellen? Dann musst du doch auch nur dein Stylesheet anpassen und in diesem einen Dokument eine Klasse im BODY setzen. Das ist doch nicht viel Arbeit.
Der Sinn einer Formatvorlage besteht ja darin, dass das Aussehen des Elements einmal definiert wird und immer gleich ist. Da hast du das Prinzip dahinter wohl nicht richtig verstanden.
Grundsätzlich ist das nicht möglich.
Eventuell gibt es im HTML-Code aber irgendwo Klassen oder ID's, die bei jeder Seite anders sind. Wenn Du dann mit dem CSS diese Klassen oder ID's ansprichst, wird das entsprechend nur auf der Seite angewendet, wo sie vorhanden sind. Aber wenn das nicht vorhanden ist, geht es alleine mit CSS leider nicht.
Natürlich geht das. Du kannst CSS auf jeder Seite individuell definieren. Direkt in der Seite definierte CSS überschreiben globale, per Link eingebundene CSS.
Ich habe aber nur Zugriff auf die CSS / SCSS Datei. Ich kann an HTML, PHP oder JS nichts ändern
Dann ist die Frage missverständlich gestellt. Die HTML-Dateien referenzieren die CSS-Dateien, nicht umgekehrt. Du kannst also nicht in den CSS-Dateien festlegen, wann und wo sie verwendet werden.
Wenn du damit meinst, dass jede Seite eine andere CSS Datei hat, kannst du ja im head einfach eine andere angeben?
Nein, das meine ich nicht und ich habe auch keinen Zugriff auf die anderen datein wie HTML, PHP oder JS
Wie wäre es, wenn du dann deine Frage besser erläutern würdest?
Danke für deine Hilfe aber ich habe wirklich nur Zugriff auf die CSS / SCSS Datei. Die anderen Dateien könnte ich auch bearbeiten, aber es sind schlicht zu viele!