CSS-Dateien im Projekt
Chipsy
- css
0 Cheatah0 Chispy
0 Utz0 Michael Jendryschik0 Chipsy0 Utz0 Michael Schröpl
Hallo,
ich hätte mal eine grundlegende Frage in Sachen CSS-Dateien.
In größeren HTML, ASP oder auch JSP-Anwendungen (Intranet) wird in den meisten Fällen für die Layoutangaben mit CSS-Dateien gearbeitet. Nun meine Frage: Kann man CSS-Dateien untereinander hierarchisch ordnen?
Beispiel:
In einer Anwendung gibt es einen Teil in dem über Formulare Daten in eine Datenbank eingegeben werden könnnen, in einem anderen Teil werden die Daten tabellarisch angezeigt. Das grundlegende Layout in beiden Teilen ist gleich (Hintergrundfarben, Linkanzeige, ...), aber bei den Tabellenangaben unterscheiden sich die beiden Teile grundlegend! Nun würde ich gerne den Teil der in beiden Fällen gleich ist in eine CSS-Datei (z.B.: texte.css) packen und die sich unterscheidenden Teile in zwei extra Dateien (z.B.: form.css und tab.css) und die Inhalte aus der texte.css an die zwei anderen Dateien 'vererben'. Ist das möglich? Wie löst ihr das Problem in euren Projekten?
Chipsy
Hi,
Kann man CSS-Dateien untereinander hierarchisch ordnen?
es gibt eine Regelung, was bei sich widersprechenden Angaben geschieht, bzw. welche davon Priorität hat. Diese Regelung ist nicht ganz trivial, deswegen rate ich hier nur, Widersprüche nach Möglichkeit zu vermeiden.
Deine eigentliche Frage ist aber eher: Kann man CSS-Informationen zu einem Dokument in mehreren Quellen unterbringen? Die Antwort lautet: ja.
Wie löst ihr das Problem in euren Projekten?
Sammlung in einer Datei, Nutzung von Klassen.
Cheatah
Hi Cheatah,
Sammlung in einer Datei, Nutzung von Klassen.
Klassen wollte ich eigenlich vermeiden, da ich es ganz schön nervig finde in jeden <td>-Tag id="name" zu schreiben, zumal es den HTML-Text ganz schön unübersichtlich machen kann, wenn man die Klassennamen sprechend machen will... und zwischen dirn dann auch noch die ganzen JSP-Tags liegen! :o(
chipsy
Hallo Chipsy,
Klassen wollte ich eigenlich vermeiden, da ich es ganz schön nervig finde in jeden <td>-Tag id="name" zu schreiben, zumal es den HTML-Text ganz schön unübersichtlich machen kann, wenn man die Klassennamen sprechend machen will... und zwischen dirn dann auch noch die ganzen JSP-Tags liegen! :o(
Was spricht dagegen die id ins <table>-tag zu setzen und mit
"#spezial td" Zuweisungen vorzunehmen?
Ok, NN4 könnte Probleme machen, müsste ausprobiert werden.
Gruß Susanne
Hallo,
Ist das möglich?
Klar ist das möglich. Der eine Teil der Seiten referenziert dann auch texte.css _und_ form.css, der andere auf texte.css _und_ tab.css - überhaupt kein Problem.
Wie löst ihr das Problem in euren Projekten?
Ich hatte mal ähnliches, wenn auch vom Ansatz her etwas komplizierteres, mich dann aber irgendwann kräftig verdaddelt, wusste nicht mehr in welcher Datei welche Angabe hängen bzw. hängen sollen, dann teilweise Angaben doppelt drin und schließlich den Überblick komplett verloren. Der Nutzen war eh gering, da die CSS-Dateien ja in der Regel aus dem Cache kommen. Jetzt ist alles wieder in einer Datei (bzw. zwei, von denen Netscape 4 eine nicht zu sehen kriegt :-), und ich bin viel glücklicher damit.
Grüße,
Utz
In einer Anwendung gibt es einen Teil in dem über Formulare Daten in eine Datenbank eingegeben werden könnnen, in einem anderen Teil werden die Daten tabellarisch angezeigt. Das grundlegende Layout in beiden Teilen ist gleich (Hintergrundfarben, Linkanzeige, ...), aber bei den Tabellenangaben unterscheiden sich die beiden Teile grundlegend! Nun würde ich gerne den Teil der in beiden Fällen gleich ist in eine CSS-Datei (z.B.: texte.css) packen und die sich unterscheidenden Teile in zwei extra Dateien (z.B.: form.css und tab.css) und die Inhalte aus der texte.css an die zwei anderen Dateien 'vererben'. Ist das möglich? Wie löst ihr das Problem in euren Projekten?
Ein Vorschlag: Binde in das eine Dokument per 'link'-Element die "texte.css" und die "form.css" ein
<link ... href="texte.css">
<link ... href="form.css">
und in das andere die "texte.css" und die "tab.css".
<link ... href="texte.css">
<link ... href="tab.css">
Siehe dazu auch http://jendryschik.de/wsdev/einfuehrung/css/einbindung.html.
MI
Hi MI,
auf die Idee bin ich auch schon gekommen, funktioniert nur leider nicht.. nimmt dann immer nur die letzte Datei... :o(
Chipsy
Hallo,
auf die Idee bin ich auch schon gekommen, funktioniert nur leider nicht.. nimmt dann immer nur die letzte Datei... :o(
Das funktioniert schon, und er nimmt auch beide Dateien...wenn Du allerdings die CSS-Dateien suboptimal gestaltet hast - will sagen: in beidem die gleichen Elemente definierst - werden die Angaben der ersten Datei durch die Angaben der zweiten überschrieben.
Grüße,
Utz
Hi Chipsy,
auf die Idee bin ich auch schon gekommen, funktioniert nur leider nicht.. nimmt dann immer nur die letzte Datei... :o(
Gegenbeweis: Binde als zweite Datei eine leere Datei ein ...
Viele Grüße
Michael