danke für Eure Tips. Es geht konkret um einen DIV-Container, der Überschriften, Text, Bilder enthält. Nur für den Fall, dass das erste Element in diesem DIV eine <h1> ist, soll deren Top-Abstand 0 sein. Falls vor der <h1> auch nur 1 Wort, 1 Absatz, 1 Bild steht, soll der normale top-Abstand gelten. Und warum sollten nicht mehrere <h1>-Elemente vorkommen, wenn sie gleichrangige Bedeutung innerhalb des DIV haben?
first-child wäre vom Ansatz her ideal, das Problem dabei ist, dass immer das 1.Vorkommen der <h1> im DIV formatiert wird, auch wenn davor bereits Text oder Bilder sind.
auch mit den Nachfahren-selektoren kann ich das auch nicht erreichen, weil
a) nicht feststellbar ist, ob noch Text etc. vor der 1. <h1> ist
b) zwischen der 1. <h1> und weiteren nicht unterscheidbar ist, da sie auf gleicher Ebene stehen, also direkt innerhalb des DIV-Container.
Werde dann wohl doch die manuelle 2 Klassengesellschaft anwenden müssen ;-)