molily: Verschachteltes Menü, li li lässt sich nicht mehr ansteuern....

Beitrag lesen

OOCSS und BEM sehen aber schon vor, dass man die li einer Liste nicht per ``.myList > li{:.language-css} selektiert (weil Typselektoren angeblich böse wären), sondern allen li auch noch eine Klasse "myList-myListItem" verpasst.

Die Idee dahinter ist entscheidend. Ziel sind Module, die nicht an ein bestimmtes Markup gebunden sind. Das soll schnelle Änderungen im HTML und CSS sowie maximale Wiederverwendbarkeit erlauben.

Typselektoren verheiraten die CSS-Modulstruktur mit einer gewissen Elementstruktur. Das kann man machen, aber aus Effizienz- und Wartbarkeitsgründen ist es sinnvoll, das auseinanderzuziehen.

Wenn sich die Semantik ändert, dann mache ich aus dem ul z.B. ein ol, section, aside oder div, aus den lis, articles, sections, ps oder divs. Auf einer weiteren Seite will ich dieselbe Darstellung, habe aber andere Inhalte, die anders ausgezeichnet sind. Will ich von dem Modul ableiten, sei es nun per Klassen im HTML oder per @extend im Präprozessor, so würden mir Typselektoren das Markup des abgeleiteten Moduls vorgeben.

Mathias