Hallo,
Aus diesem Grund habe ich im letzten stylesheet ul{list-style-type:none;} angefügt, in der Annahme, dass dies die styles aller listen entfernt. [...]
Wie kann ich alle vorangehenden bzw. die default-Listen-formatierungen überschreiben (ohne alle eventuellen, den Listen zugeordneten Klassen berücksichtigen zu müssen)?
Die Reihenfolge und der Ort, wo eine CSS-Angabe steht
(z.B. STYLE-Element im Head oder externe CSS-Datei)
ist nur *ein* Merkmal, welche CSS-Angabe "siegt",
wenn Du mehrere sich widersprechende Angaben hast.
Nur wenn Du mehrere *gleich spezifische* Angaben hast, "siegt"
die zuletzt eingebundene Angabe bzw. diejenige, welche "näher
am Text ist", also z.B. diejenige im STYLE-Element im HEAD
gegenüber der in einem externen CSS-Datei.
Der springende Punkt ist die sogenannte Spezifität (engl. specificity), siehe:
http://www.w3.org/TR/CSS21/cascade.html#specificity
Wenn Du irgendwo schreibst
ul.meineklasse { /* Angabe 1 */ }
hat das immer eine höhere Spezifität als
ul { /* Angabe 2 */}
Selbst wenn die zweite Anweisung in der CSS-Datei steht,
die als letzte eingebunden wird, wird also trotzdem die
erste Anweisung berücksichtigt, da sie spezifischer ist.
Und da ein Selektor mit einer Klasse, also z.B.
ul.meineklasse
immer spezifischer ist als ein Selektor ohne Klasse, hilft es
auch nichts, einen "komplizierteren" Selektor zu nehmen,
der zwar viele Elemente enthält, aber keine Klasse, wie z.B.
html body ul
Dagegen wäre der Selektor
html body div.navigation ul
(mit 4 Elementen und 1 Klasse)
spezifischer (und somit "stärker") als
ul.meineklasse
(mit 1 Element und 1 Klasse)
Am "stärksten" sind übrigens immer die Angaben, die direkt in
einem STYLE-Attribut eines HTML-Elements stehen.
Diese kann man nicht durch Angaben in einem zentralen
Stylesheet übersteuern.
---
Auf die Reihenfolge, in der man externe CSS-Dateien in eine HTML-Datei
einbindet, kann man sich übrigens eh nicht ganz verlassen, wie ich
(vor Jahren) mal in einer Testreihe festgestellt habe:
http://www.tiptom.ch/tests/css_test/css_intro.html#reihenfolge
Damals kam ich zum Schluss:
Wenn man will, dass ein eingebundenes Stylesheet unbedingt
angewendet wird, muss der entsprechende LINK der letzte in
der Liste sein und darf kein TITLE-Attribut haben.
(Wie es mit aktuellen Browsern aussieht, weiss ich allerdings nicht).
Ich hoffe, das hilft Dir weiter.
Freundliche Grüsse
Thomas
(ab sofort offline im Wochenende ;-)